如何从命令行获取 Linux 中的 CPU/内核数?

新手上路,请多包涵

我有这个脚本,但我不知道如何获取打印输出中的最后一个元素:

 cat /proc/cpuinfo | awk '/^processor/{print $3}'

最后一个元素应该是 CPU 的数量,减 1。

原文由 Richard 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 616
2 个回答
grep -c ^processor /proc/cpuinfo

将计算以“处理器”开头的行数 /proc/cpuinfo

对于具有超线程的系统,您可以使用

grep ^cpu\\scores /proc/cpuinfo | uniq |  awk '{print $4}'

应该返回(例如) 8 (而上面的命令将返回 16

原文由 unbeli 发布,翻译遵循 CC BY-SA 4.0 许可协议

处理 /proc/cpuinfo 的内容是不必要的巴洛克式的。使用作为 coreutils 一部分的 nproc ,因此它应该在大多数 Linux 安装中都可用。

命令 nproc 打印当前进程可用的处理单元数,可能小于在线处理器数。

要查找所有已安装内核/处理器的数量,请使用 nproc --all

在我的 8 核机器上:

 $ nproc --all
8

原文由 uckelman 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题