歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux基礎教程:Linux性能監控-CPU

Linux基礎教程:Linux性能監控-CPU

日期:2017/2/25 10:33:55   编辑:Linux教程

CPU

良好狀態指標

CPU利用率:User Time <= 70%,System Time <= 35%,User Time + System Time <= 70%。

上下文切換:與CPU利用率相關聯,如果CPU利用率狀態良好,大量的上下文切換也是可以接受的。

可運行隊列:每個處理器的可運行隊列<=3個線程。

監控工具

vmstat

$ vmstat 1

先看一個字段能對齊的:

下面的是別人服務器的情況:

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------

r b swpd free buff cache si so bi bo in cs us sy id wa st

14 0 140 2904316 341912 3952308 0 0 0 460 1106 9593 36 64 1 0 0

17 0 140 2903492 341912 3951780 0 0 0 0 1037 9614 35 65 1 0 0

20 0 140 2902016 341912 3952000 0 0 0 0 1046 9739 35 64 1 0 0

17 0 140 2903904 341912 3951888 0 0 0 76 1044 9879 37 63 0 0 0

16 0 140 2904580 341912 3952108 0 0 0 0 1055 9808 34 65 1 0 0

重要參數:

r,run queue,可運行隊列的進程數,這些進程都是可運行狀態,只不過CPU暫時不可用。

b,被blocked的進程數,正在等待IO請求。

in,interrupts,被處理過的中斷數。

cs,context switch,系統上正在做上下文切換的數目。

us,用戶占用CPU的百分比。

sys,內核和中斷占用CPU的百分比。

id,CPU完全空閒的百分比。

上例可得:

sy高us低,以及高頻度的上下文切換(cs),說明應用程序進行了大量的系統調用。

這台4核機器的r應該在12個以內,現在r在14個線程以上,此時CPU負荷很重。

查看某個進程占用的CPU資源

$ while :; do ps -eo pid,ni,pri,pcpu,psr,comm | grep 'db_server_login'; sleep 1; done

PID NI PRI %CPU PSR COMMAND

28577 0 23 0.0 0 db_server_login

28578 0 23 0.0 3 db_server_login

28579 0 23 0.0 2 db_server_login

28581 0 23 0.0 2 db_server_login

28582 0 23 0.0 3 db_server_login

28659 0 23 0.0 0 db_server_login

Copyright © Linux教程網 All Rights Reserved