分類 | 命令 | 描述 |
CPU性能分析相關命令 | mpstat -P ALL 5 | 監控所有CPU的使用情況,間隔5秒后輸出一組數據。用于查看是否出現某個CPU占滿的情況 |
CPU性能分析相關命令 | pidstat -u 5 1 | 監控所有進程的CPU使用情況,用于查看是否出現某個進程CPU占用過高的問題 |
CPU性能分析相關命令 | watch -d uptime | 監控CPU平均負載變化情況,一旦 1 分鐘的平均負載接近或超過了 CPU 的個數,就意味著系統正在發生過載的問題,這時就得分析調查是哪里導致的問題,并要想辦法優化了,平均負載高并不一定代表 CPU 使用率高,還有可能是 I/O 更繁忙了 |
CPU性能分析相關命令 | vmstat 5 | 查看 CPU 上下文切換和中斷的次數,每5秒輸出一組數據 r 列就緒隊列的長度如果超過了系統 CPU 的個數會有大量的 CPU 競爭 |
CPU性能分析相關命令 | pidstat -wt 5 | 查看進程及其子線程上下文切換次數,過多的上下文切換會影響性能。 cswch列表示每秒自愿上下文切換(voluntary context switches)的次數, 資源不足時觸發。 nvcswch列表示每秒非自愿上下文切換(non voluntary context switches)的次數,CPU時間片已到時觸發。 |
CPU性能分析相關命令 | top | us(user)用戶 CPU 使用率高,通常說明有應用程序比較繁忙。 wa(iowait)等待I/O的CPU使用率,通常也稱iowait ,iowait高說明系統與硬件設備的 I/O 交互時間比較長。 S(State)列為Z的進程是僵尸進程,需要殺死或重啟僵尸進程 |
CPU性能分析相關命令 | perf top | 類似于 top,它能夠實時顯示占用 CPU 時鐘最多的函數或者指令,因此可以用來查找熱點函數 |
內存性能分析相關命令 | free | 查看內存使用情況 |
內存性能分析相關命令 | pidstat -r 5? 1 | 監控所有進程的內存使用情況 |
I/O性能分析相關命令 | ?df -i /dev/sda1? | 查看索引節點的使用情況 IFree 列較少時,也會報空間不足 |
I/O性能分析相關命令 | iostat -d -x 1? | 查詢每個磁盤的使用率、IOPS、吞吐量等各種常見的性能指標 %util列如果接近或達到100%說明磁盤I/O飽和 |
I/O性能分析相關命令 | pidstat -d 1? | 查看所有進程的I/O情況 |
I/O性能分析相關命令 | iotop | 是一個類似于 top 的工具,默認按照 I/O 大小對進程排序 |
網絡性能分析工具 | sar -n DEV 1 | 查看網絡接口統計信息 |
網絡性能分析工具 | ethtool eth0 | grep Speed | 查看網絡接口帶寬 |
網絡性能分析工具 | tcpdump -i any -nn | 抓包,抓取某網絡接口某端口某IP的包 |
網絡性能分析工具 | netstat -s | egrep "listen|LISTEN" | 查看TCP全連接隊列溢出的次數,隔幾秒鐘執行下,如果這個數字一直在增加的話肯定全連接隊列偶爾滿了 |
網絡性能分析工具 | netstat -t | grep 端口號 | 查看Recv-Q列是否有大量數據堆積,如果有那么一般是CPU處理不過來導致的 |