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

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

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

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


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

或干脆

grep -c ^processor /proc/cpuinfo     

它将计算/proc/cpuinfo以“processor”开头的行数


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

命令nproc输出当前进程可用的处理单元数量,可能少于在线处理器数量。

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

在我的8核机器上:

$ nproc --all
8

我发现的最便携的解决方案是getconf命令:

getconf _NPROCESSORS_ONLN

这适用于Linux和Mac OS X.与其他一些方法相比,另一个好处是getconf已经存在很长时间了。 我必须开发的一些较旧的Linux机器没有可用的nproclscpu命令,但它们具有getconf

编者按:虽然getconf实用程序是POSIX规定的,但具体的_NPROCESSORS_ONLN_NPROCESSORS_CONF值不是。 也就是说,如上所述,他们在Linux平台以及macOS上工作; 在FreeBSD / PC-BSD上,您必须省略前导_

链接地址: http://www.djcxy.com/p/36191.html

上一篇: How to obtain the number of CPUs/cores in Linux from the command line?

下一篇: how to use if to see whether file has suffix in shell bash script