在 Ubuntu(和其他 Linux 发行版)里,getconf 主要用来查询系统配置参数和限制值,尤其是 POSIX / 系统级限制。下面按常见用法说明。
getconf -a
会列出大量参数,例如:
OPEN_MAXARG_MAXPAGE_SIZENPROCESSORS_ONLNgetconf LIMIT_NAME
常见示例:
getconf OPEN_MAX # 一个进程最多打开的文件数
getconf ARG_MAX # 命令行参数最大长度
getconf PAGE_SIZE # 内存页大小
getconf NPROCESSORS_ONLN # 在线 CPU 数量
getconf HOSTNAME # 主机名(某些系统)
有些限制依赖于文件系统,需要指定路径:
getconf NAME_MAX / # 文件名最大长度
getconf PATH_MAX / # 路径最大长度
getconf LINK_MAX / # 硬链接最大数量
✅ 不指定路径时可能返回默认值或报错。
POSIX 定义了很多 _PC_* 和 _SC_* 参数:
_SC_)getconf _SC_OPEN_MAX
getconf _SC_ARG_MAX
getconf _SC_CHILD_MAX
_PC_)getconf _PC_NAME_MAX /
getconf _PC_PATH_MAX /
| 工具 | 作用 |
|---|---|
getconf |
查系统/内核/POSIX 限制 |
ulimit |
查/设当前 shell 的用户限制 |
例如:
ulimit -n # 用户级文件描述符限制
getconf OPEN_MAX # 系统级上限
getconf OPEN_MAX
ulimit -n
cat /proc/sys/fs/file-max
getconf _SC_THREAD_THREADS_MAX
如果你有具体想查的限制(比如文件数、线程数、栈大小、共享内存等),可以直接告诉我,我给你精确命令。