Linux服務器資源占用率總結


 統計內存最高的進程:

ps aux | grep -v PID | sort -rn -k 4 | head

統計CPU使用率最高的進程:

 ps aux | grep -v PID | sort -rn -k 3 | head

僵屍進程:

ps aux | grep defunct | grep -v grep

查找進程啟動的線程:

ps -eLf PID

查看網絡服務狀態:

netstat -ntlp --顯示正在listening的tcp的數字格式的連接

netstat -nulp --顯示正在listening的udp的數字格式的連接

硬件故障分析:

1.檢查磁盤使用量:服務器硬盤是否已滿。

2.是否開啟了swap交換模式(si/so)。

3.CPU使用情況:占用高CPU時間片的是系統進程還是用戶進程。

查看CPU和內存信息:

free -m

Mem為物理內存的容量。

Swap為虛擬內存的容量。

total為總容量。

used為已用容量。

free為空閑容量。

shared為共享容量。

buff/cache為緩沖及緩存的容量。

avaiable為真正可用容量。

一般swap used的值最好不要超過20%。

top --CPU和內存使用實際統計

 mpstat 2 10 --查看每個CPU的使用統計。

總線設備信息統計:

lspci --顯示系統中所有PCI總線設備或連接到該總線的所有設備

使用dmidcode命令查看bios、system、memory、processor等硬件設備的信息

例:dmidecode -t Memory | grep "Maximum Capacity"

查看網卡信息:

ethtool 網卡名

ethtool -i ens33

I/O性能統計

iostat -kx 2

vmstat 2 10

swpd:切換到交換內存上的內存容量(默認以KB為單位),正常情況下swpd的值為0。如果swpd的值比較大,如果查過100M,但是si和so的值長期為0,則這種情況不會影響性能。

free:空閑的物理內存容量。如果free的值很小,但是si和so的值也很小,則系統性能不會受到影響。

buff:做為buffer cache(緩沖區緩存)的內存,對塊設備的讀寫進行緩沖。

cache:做為page cache(頁面緩存)的內存,文件系統的緩存,如果緩存值大,則說明緩存的文件數多,如果頻繁訪問到的文件都能被緩存,name磁盤的讀io bi(發送到塊設備的塊數)會非常小。

si:交換內存使用,由磁盤調入內存。

so:交換內存使用,有內存調入磁盤。

提示:內存夠用時,si和so的值都是0,;如果這兩個值長期大於0,那么系統性能就會收到影響,磁盤、I/O和CPU資源都會被消耗完。

bi:從塊設備讀入的數據量(讀磁盤),單位為KB/s。

bo:寫入到塊設備的數據總量(寫磁盤),單位為KB/s。

提示:隨機磁盤讀寫的時候,這2個值越大(如超出1M),能看到CPU在I/O等待的值也會越大。

in:每秒產生的終端次數。

cs:每秒產生的上下文切換次數。

提示:in和cs的值越大,有內核消耗的CPU時間會越多。

us:用戶進程消耗的CPU時間百分比。如果us的值比較高,則說明用戶進程消耗的CPU時間多。但是如果長期超過50%,那么就考慮優化程序算法或者進行加速。

sy:內核進程所消耗的CPU時間百分比。如果sy的值比較高,說明系統內核消耗的CPU資源多,這並不是良性的表現,應該檢查原因。

id:CPU處於空閑狀態時間的百分比。

wa:I/O等待消耗的CPU時間百分比。如果wa的值比較高,則說明I/O等待比較嚴重,這可能是磁盤大量做隨機訪問造成的,也有可能是磁盤的帶寬出現瓶頸,如快操作等。

 

查看當前占用I/O資源最高的進程信息,如下圖所示:

dstat --top-bio --top-io

磁盤使用率統計:

df -h --查看磁盤容量使用情況(檢查刪除文件后磁盤空間有未釋放)

fdisk -l --查看磁盤分區信息

磁盤I/O相關參考:https://www.cnblogs.com/hanson1/p/7102206.html

lsof命令可以列出當前系統打開的文件及目錄,其中提供了大量關於這個應用程序本身和操作系統交互的信息。+D參數可以列出對應目錄下的所有子目錄和文件。

操作系統日志:

查看整體系統日志:/var/log/messages

查看授權和認證信息:/var/log/secure

以上兩個日志中需關注:

1)錯誤和告警信息,是否因為連接數過多所導致的;

2)是否有硬件錯誤或文件系統錯誤。

中斷異常信息:

/proc/interrupts中中斷請求是否均衡分配給了CPU處理,CPU是否會由於大量網絡中斷請求或RAID請求而過載。

內核信息查詢:

dmesg | more


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM