我正在使用一个 php 脚本,该脚本使用大量 php 和 mysql 查询,安装在具有 4 个核心和 16gb 内存的 dedi 中,当我使用命令 top 时,它显示 php 消耗了 80% 的 CPU,但是使用命令 mpstat - ALL 来找出每个核心的使用情况,它显示不同的结果,每个核心的空闲率为 96%
root@datax:~# top
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
27629 root 20 0 287432 31336 18544 R 80.1 0.2 0:19.20 php
1006 mysql 20 0 2400692 100236 11340 S 21.3 0.6 220:35.64 mysqld
root@datax:~# mpstat -P ALL
Linux 3.16.0-4-amd64 (datax) 07/31/2016 _x86_64_ (4 CPU)
05:03:13 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
05:03:13 AM all 1.39 0.15 0.51 1.72 0.00 0.03 0.00 0.00 0.00 96.19
05:03:13 AM 0 1.31 0.15 0.47 1.73 0.00 0.03 0.00 0.00 0.00 96.31
05:03:13 AM 1 1.33 0.15 0.48 1.76 0.00 0.03 0.00 0.00 0.00 96.25
05:03:13 AM 2 1.49 0.15 0.55 1.68 0.00 0.03 0.00 0.00 0.00 96.10
05:03:13 AM 3 1.44 0.14 0.55 1.72 0.00 0.03 0.00 0.00 0.00 96.11
答案1
当您在未设置间隔的情况下运行 mpstat 时,它的输出将显示自启动以来的平均值(而不是“现在”)。您可以将调用调整为:
root@datax:~# mpstat -P ALL 1
这应该会为你提供更多“现在”的信息