简短结论:getconf 在 Ubuntu(以及一般 Linux 系统)上并没有“过时”,但它能查到的信息有限,很多时候有更现代/更方便的替代方式。
下面分点说明。
getconf 是什么、还在不在getconf 是 POSIX 标准工具,用来查询:
getconf LONG_BIT)getconf OPEN_MAX)getconf PATH_MAX /)在 Ubuntu 上:
which getconf
# 通常位于 /usr/bin/getconf
它仍然随 libc-bin 或 libc6 提供,默认系统里一般都有,并非废弃命令。
原因主要有几个:
很多“系统信息”它查不了,例如:
getconf 自身相关,但不直观)这些通常用:
uname -a
lscpu
free -h
| 需求 | 旧方式 | 更常用方式 |
|---|---|---|
| 系统位数 | getconf LONG_BIT |
uname -m |
| 打开文件数限制 | getconf OPEN_MAX |
ulimit -n |
| 页面大小 | getconf PAGE_SIZE |
getconf 仍可用 |
在容器里,很多 getconf 查到的是宿主机或 libc 的值,不一定反映真实运行限制,因此大家更倾向用 ulimit、/proc 或 cgroup。
getconf 的场景这些场景它依然合适:
getconf LONG_BIT # 32 还是 64 位
getconf PAGE_SIZE # 内存页大小
getconf _POSIX_VERSION # POSIX 标准版本
getconf没过时,只是“不够全面”;它不是被淘汰,而是被更丰富的工具补充了。
如果你愿意,可以告诉我你具体想查什么信息,我可以告诉你 Ubuntu 上最推荐的做法。