在 Debian(以及其它 Linux 发行版)里,getconf 是一个查询系统配置参数和限制的命令行工具,主要基于 POSIX / C 库(glibc) 提供的接口。
简单来说:用来“问系统”:你支持什么、限制是多少、当前环境是什么。
getconf 调用的是:
sysconf / pathconf / confstr)它不会修改系统,只是读取配置信息。
getconf LONG_BIT
输出:
64
用于判断系统是 32 位还是 64 位。
getconf _NPROCESSORS_ONLN
查看当前在线 CPU 核心数。
getconf _NPROCESSORS_CONF
查看系统配置的 CPU 核心数。
getconf NAME_MAX /tmp
查看某目录下文件名最大长度。
getconf PATH_MAX /usr
查看路径最大长度。
getconf OPEN_MAX
一个进程最多能打开多少文件描述符。
getconf ARG_MAX
命令行参数最大长度(脚本 / exec 很常用)。
getconf _POSIX_VERSION
查看支持的 POSIX 版本。
getconf _POSIX_THREADS
是否支持 POSIX 线程。
在 shell 脚本中动态获取系统参数:
cores=$(getconf _NPROCESSORS_ONLN)
make -j"$cores"
比写死 4 或 8 更通用、可移植。
| 工具 | 用途 |
|---|---|
getconf |
查 POSIX / 系统限制 |
uname |
查内核版本、架构 |
ulimit |
查/设用户级资源限制 |
sysctl |
查/改内核运行参数 |
如果你愿意,我可以:
getconf 排查