在 Debian(及其他 Linux 发行版)中,getconf 主要用于查询系统配置变量,其中就包括很多“系统限制(system limits)”。
下面按常见用法说明。
getconf -a
这会列出当前系统支持的所有配置项和对应值,例如:
ARG_MAXOPEN_MAXPAGE_SIZENGROUPS_MAXHOST_NAME_MAXgetconf OPEN_MAX # 一个进程最多打开的文件数
getconf ARG_MAX # exec 时参数和环境变量的最大字节数
getconf NGROUPS_MAX # 一个用户最多所属的组数
getconf CHILD_MAX # 每个用户最多进程数
getconf PAGE_SIZE # 内存页大小(字节)
getconf _NPROCESSORS_CONF # 配置的 CPU 数量
getconf _NPROCESSORS_ONLN # 在线 CPU 数量
getconf NAME_MAX # 文件名最大长度
getconf PATH_MAX # 路径最大长度
getconf HOST_NAME_MAX # 主机名最大长度
有些限制依赖文件系统:
getconf NAME_MAX /tmp
getconf PATH_MAX /home
这会返回该挂载点对应的限制。
| 工具 | 作用 |
|---|---|
getconf |
查看系统/POSIX 定义的静态限制 |
ulimit |
查看/设置当前 shell 的资源限制 |
例如:
ulimit -n # 当前 shell 的文件描述符软限制
getconf OPEN_MAX # 系统支持的最大值
$ getconf PAGE_SIZE
4096
$ getconf OPEN_MAX
1024
$ getconf ARG_MAX
2097152
如果你有具体想查的限制(比如“最大线程数”“最大内存映射”等),可以告诉我,我可以给你更精确的命令。