top和ps aux得到cpu使用率的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了top和ps aux得到cpu使用率的区别相关的知识,希望对你有一定的参考价值。

  top比PS命令的好处就是可以动态更新
  us 用户空间占用CPU百分比
  sy 内核空间占用CPU百分比
  ni 用户进程空间内改变过优先级的进程占用CPU百分比
  id 空闲CPU百分比
  wa 等待输入输出的CPU时间百分比
  hi 硬件中断
  si 软件中断
参考技术A ps命令有局限,ps aux看到的进程%CPU是该进程的全寿命均值,不是实时数值,
ps获取到%CPU是进程的实际CPU使用时间与进程运行期间的比,意味着运行时间越长,该值越不准确。
top是实时的数据

参考资料 http://blog.chinaunix.net/uid-25135004-id-1740068.html

??????vmstat,top,ps aux?????????cpu???????????????????????????

?????????vmstattop???ps aux

?????????
???vmstat,top,???ps aux???????????????????????????cpu????????????????????????????????????

??????
??? vmstat ????????????cpu???????????? id???cpu????????????????????????????????????????????????73%??????
??? ps aux ????????????compress?????????cpu??????????????????????????????15.5%???28.9%
??? top????????????compress?????????cpu??????????????????????????????????????????????????????
???????????????????????????????????????

????????????????????????cpu??????????????????
?????????ps aux?????????compress????????????cpu 15.5%+28.9%>40%,???????????????????????????
???vmstat??????cpu?????????id??????????????????73%
?????????top?????????????????????compress???cpu????????????ps??????????????????????????????ps???
cpu?????????????????????????????????????????????
top?????????????????? ??????ps aux???????????????cpu?????????????????????
?????????????????????????????????cpu????????????????????????????????????????????????????????????????????????????????????,????????????cpu?????????

$ vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 432 802660 28724 5747324 0 0 204 770 0 0 6 3 90 2
3 0 432 799196 28724 5747392 0 0 0 152 1455 681 2 2 96 0
0 0 432 802420 28724 5747460 0 0 0 480 1599 1892 10 8 82 0
0 0 432 802292 28724 5747664 0 0 0 440 1859 6179 14 13 73 0
2 0 432 797636 28724 5752084 0 0 0 240 1403 3419 8 7 85 0
1 0 432 798732 28724 5751268 0 0 0 448 1506 4608 10 8 81 0
2 0 432 797924 28724 5752084 0 0 0 192 1752 4332 11 10 79 0
0 0 432 802076 28724 5747936 0 0 0 280 1705 1527 14 6 79 0

$ps aux | grep compress
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
img 6569 15.5 0.2 36716 16540 ? S Aug12 230:57 ./bin/compress 8014
img 6570 28.9 0.2 54592 22524 ? S Aug12 430:28 ./bin/compress 8004

$top | grep compress
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6569 img 16 0 40956 20m 6632 R 10.7 0.3 231:10.12 compress
6570 img 16 0 54592 21m 2456 S 20.3 0.3 430:54.32 compress
6569 img 17 0 36740 16m 2456 S 10.3 0.2 231:10.43 compress
6570 img 16 0 54592 21m 2456 R 58.9 0.3 430:56.09 compress
6569 img 16 0 36716 16m 2456 R 53.9 0.2 231:12.05 compress
6570 img 16 0 58444 24m 4752 R 69.9 0.3 430:58.19 compress
6569 img 16 0 36716 16m 2456 S 60.2 0.2 231:13.86 compress
6570 img 16 0 54592 21m 2456 S 52.6 0.3 430:59.77 compress
6569 img 15 0 36716 16m 2456 S 45.3 0.2 231:15.22 compress

???????????????????????????????????????
top???ps???vmstat?????????????????????proc??????????????????????????????vmstat???top????????????/proc/stat????????????ps???top????????????/proc/*/stat?????????????????????

1.vmstat??????cpu idle?????????????????????????????????????????????????????????????????????cpu????????????????????????/????????????/cpu??????????????????cpu?????????cpu????????????????????????????????????vmstat?????????????????????vmstat 10??????10s????????????cpu ????????????

2.ps???????????????????????????cpu???????????????????????????/proc/*/stat??????????????????????????????????????????????????????cpu??????????????????/Hertz????????????????????????????????????cpu??????????????????????????????????????????????????????????????????????????????2???

3.top????????????/proc/stat?????????????????????cpu???????????????/proc/*/stat?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Irix??????????????????????????????cpu core????????????????????????????????????????????????????????????2???2??????????????? shift+i?????????????????????

???????????????????????????????????????????????????:
??????1????????????ps aux?????????compress????????????cpu 15.5%+28.9%>40%,??????????????????????????????vmstat??????cpu?????????id??????????????????73%
ps???cpu???????????????????????????cpu?????????2????????????????????????(15.5%+28.9% )/2=22.2% ,???????????????100???-73%???

??????2????????????top?????????????????????compress???cpu????????????ps??????????????????????????????ps???cpu?????????????????????????????????????????????top?????????????????? ??????ps aux???????????????cpu?????????????????????
ps???top??????????????????2?????????????????????????????????????????????????????????????????????????????????

??????3????????????????????????????????????cpu????????????????????????????????????????????????????????????????????????????????????,????????????cpu?????????
????????????????????????????????????????????????????????????????????????????????????????????????
vmstat ???100%-idle == ps???cpu??????/cpu????????? == top???cpu??????/cpu?????????/??????cpu??????;

???????????????
https://blog.csdn.net/zjjyliuweijie/article/details/7048973

以上是关于top和ps aux得到cpu使用率的区别的主要内容,如果未能解决你的问题,请参考以下文章

ps aux和ps ef的区别

ps aux 和ps -ef的区别

ps aux和ps -ef命令区别

ps -ef和ps aux有啥区别啊

Linux里面ps -aux和ps -a区别是啥?

linux,ps-ef和ps-aux区别