天天看點

Linux指令行性能檢測工具(二)

 六、Numastat

   随着NUMA架構的不斷發展,例如eServer xSeries 445及其後續産品eServer xSeries 460,現在NUMA架構已經成為了企業級資料中心的主流。然而,NUMA架構在性能調優方面面臨了新的挑戰,例如記憶體配置設定的問題在NUMA系統之前并沒人感興趣,而Numastat指令提供了一個監測NUMA架構的工具。Numastat指令提供了本地記憶體與遠端記憶體使用情況的對比和各個節點的記憶體使用情況。Numa_miss列顯示配置設定失敗的本地記憶體,numa_foreign列顯示配置設定遠端記憶體(通路速度慢)資訊,過多的調用遠端記憶體将增加系統的延遲進而影響整個系統的性能。使運作在一個節點上的程序都通路本地記憶體将極大的改善系統的性能。

※我使用的系統不支援NUMA架構,此圖為原文檔截圖。

七、sar

   sar程式也是sysstat安裝包的一部分。sar指令用于收集、報告和儲存系統的資訊。Sar指令由三個應用組成:sar,用與顯示資料;sa1和sa2,用于收集和存儲資料。預設情況下,系統會在crontab中加入自動收集和分析的操作:

引用

[root@rfgz ~]# cat /etc/cron.d/sysstat

# run system activity accounting tool every 10 minutes

*/10 * * * * root /usr/lib/sa/sa1 1 1

# generate a daily summary of process accounting at 23:53

53 23 * * * root /usr/lib/sa/sa2 -A

   sar指令所生成的資料儲存在/var/log/sa/目錄下,資料按照時間儲存,可以根據時間來查詢相應的性能資料。

   你也可以使用sar在指令行下得到一個實時的執行結果,收集的資料可以包括CPU使用率、記憶體頁面、網絡I/O等等。下面的指令表示用sar執行5次,間隔時間為3秒:

八、free

   free指令顯示系統的所有記憶體的使用情況,包括空閑記憶體、被使用的記憶體和交換記憶體空間。Free指令顯示也包括一些核心使用的緩存和緩沖區的資訊。

   當使用free指令的時候,需要記住linux的記憶體結構和虛拟記憶體的管理方法,比如空閑記憶體數量的限制,還有swap空間的使用并不标志一個記憶體瓶頸的出現。

Free指令有用的參數:

·-b,-k,-m和-g分别按照bytes, kilobytes, megabytes, gigabytes顯示結果。

·-l差別顯示low和high記憶體

·-c {count}顯示free輸出的次數

九、Pmap

pmap指令顯示一個或者多個程序使用記憶體的數量,你可以用這個工具來确定伺服器上哪個程序占用了過多的記憶體進而導緻記憶體瓶頸。

十、Strace

   strace截取和記錄程序的系統調用資訊,還包括程序接受的指令信号。這是一個有用的診斷和調試工具,系統管理者可以通過strace來解決程式上的問題。

   指令格式,需要指定需要監測的程序ID。這個多為開發人員使用。

strace -p <pid>

十一、ulimit

   可以通過ulimit來控制系統資源的使用。請看以前的日志:使用ulimit和proc去調整系統參數 

十二、Mpstat

   mpstat指令也是sysstat包的一部分。Mpstat指令用于監測一個多CPU系統中每個可用CPU的情況。Mpstat指令可以顯示每個CPU或者所有CPU的運作情況,同時也可以像vmstat指令那樣使用參數進行一定頻率的采樣結果的監測。

繼續閱讀