php CPU占用问题

php CPU占用问题

我正在使用一个 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

这应该会为你提供更多“现在”的信息

相关内容