Ali*_*xel 39
要获取每个 CPU的 CPU内核数:
grep "^core id" /proc/cpuinfo | sort -u | wc -l
Run Code Online (Sandbox Code Playgroud)
或获得的数量物理CPU的:
grep "^physical id" /proc/cpuinfo | sort -u | wc -l
Run Code Online (Sandbox Code Playgroud)
Mat*_*nit 26
我不知道它是否有帮助,但您可以使用该mpstat实用程序按单个处理器(或内核)获取 CPU 使用情况的细分。例如:
$ mpstat -P ALL 1
12:49:59 PM CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s
12:50:00 PM all 7.89 0.00 1.25 0.88 0.00 0.00 0.00 89.97 1359.00
12:50:00 PM 0 14.00 0.00 0.00 0.00 0.00 0.00 0.00 86.00 1043.00
12:50:00 PM 1 15.84 0.00 7.92 3.96 0.00 0.99 0.00 71.29 297.00
12:50:00 PM 2 3.96 0.00 0.00 1.98 0.00 0.99 0.00 93.07 0.00
12:50:00 PM 3 3.96 0.00 0.99 2.97 0.00 0.00 0.00 92.08 0.00
12:50:00 PM 4 4.00 0.00 0.00 0.00 0.00 0.00 0.00 96.00 0.00
12:50:00 PM 5 4.95 0.00 0.99 0.00 0.00 0.00 0.00 94.06 18.00
12:50:00 PM 6 10.89 0.00 0.99 0.00 0.00 0.00 0.00 88.12 0.00
12:50:00 PM 7 5.05 0.00 0.00 0.00 0.00 0.00 0.00 94.95 0.00
Run Code Online (Sandbox Code Playgroud)
在这个例子中,你可以看到,CPU的0,1和6正在做更多的工作比他们的休息。有时您会看到单个 CPU 接近(或处于)100%,而其他 CPU 则为零。这可以指示程序(或程序的一部分)是单线程的并且一次只能使用一个 CPU。
要mpstat在 Fedora、RHEL 或 CentOS 系统上安装,请使用yum install sysstat.
除非明确配置为不这样做(即,将进程固定到特定的 CPU),否则可以假定所有内核始终处于使用状态。调度程序将为进程分配下一个可用的核心。举个例子,“系统监视器”(GNOME 的一部分)显示我的机器的所有 4 个核心的负载几乎相同。
| 归档时间: |
|
| 查看次数: |
30211 次 |
| 最近记录: |