歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

linux下運維必備的性能分析工具總結

linux下運維必備的性能分析工具總結   性能分析工具總結: 1、  vmstat :對操作系統的內存信息、進程、CPU進行監視分析 #vmstat 2 3 每二秒更新輸出一次,統計3次後停止。 [root@MYDB1 ~]# vmstat 2 3 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----  r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st  0  0      0 170688 171224 464808    0    0     0     1   14    7  0  0 100  0  0  0  0      0 170680 171224 464828    0    0     0     0   12   36  0  0 100  0  0  0  0      0 170680 171224 464828    0    0     0     0   13   37  0  0 100  0  0  Procs: r CPU時間片的進程數;b等待資源的進程數。 Memory:swpd 內存交換區的大小,只要si,so長期為0,就不影響。Free空閒的物理內存;buff 內存緩沖區;cache緩存,只要bi小就正常。 swap: si 磁盤調入內存;so內存調入磁盤,so與si長期多的話,說明需要增加內存了。 IO:磁盤讀寫狀態;bi從設備讀入的總量;bo寫入設備的總量,bi+bo參考值為1000,超過就是IO有問題了。 System:采集間隔內發生的中斷數。In每秒中斷數;cs每秒產生的上下文切換次數,這二個值班越大,內核消耗CPU時間越多。 Cpu: us 進程消耗CPU的時間比,值越高,消耗的CPU時間越多,長期大於50%,需要優化程或算法;sy內核消耗CPU的時間比。Us+sy大於80%時,說明CPU資源不足。Id CPU空閒時間比;wa是IO等待占用CPU時間比,wa越高,說明IO越嚴重。Wa參考值為20%,長期大於20%說明IO問題嚴重。 2、  sar 可以獲取系統的CPU、運行隊列、磁盤IO、分頁(交換區)、內存、CPU中斷、網絡等。 #sar –u 3 2  每三秒統計一次,統計2次 [root@MYDB1 ~]# sar -n DEV 3 2 Linux 2.6.32-279.19.1.el6.x86_64 (MYDB1)        03/09/13        _x86_64_        (1 CPU) 18:00:50        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s 18:00:53           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00 18:00:53         eth0      4.00      0.00      0.29      0.00      0.00      0.00      0.00 18:00:53         eth1      0.33      0.00      0.02      0.00      0.00      0.00      0.00 18:00:53        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s 18:00:56           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00 18:00:56         eth0      2.66      0.33      0.21      0.15      0.00      0.00      0.00 18:00:56         eth1      0.66      0.00      0.04      0.00      0.00      0.00      0.00 Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00 Average:         eth0      3.33      0.17      0.25      0.08      0.00      0.00      0.00 Average:         eth1      0.50      0.00      0.03      0.00      0.00      0.00      0.00 參數:-A 所有設備;-u所有CPU;-P指定的CPU;-d硬盤;-r內存采樣;-b內存緩沖區采樣;-v進程、文件、節點和鎖表狀態;-n網絡;-q隊列;-R進程;-y終端設備;-W系統交換 –o filename 將命令結果以二進制格式放在文件中; 3、  iostat(需要安裝Sysstat),主要針對磁盤IO磁盤監視。 #Iostat –d 2 3 [root@MYDB1 ~]# iostat -d 2 3 Linux 2.6.32-279.19.1.el6.x86_64 (MYDB1)        03/09/13        _x86_64_        (1 CPU) Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn sda               0.16         0.19         2.28     531210    6494604 dm-0              0.29         0.18         2.28     522090    6494552 dm-1              0.00         0.00         0.00       2376          0 Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn sda               0.00         0.00         0.00          0          0 dm-0              0.00         0.00         0.00          0          0 dm-1              0.00         0.00         0.00          0          0 Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn sda               0.00         0.00         0.00          0          0 dm-0              0.00         0.00         0.00          0          0 dm-1              0.00         0.00         0.00          0          0 Blk_read/s:每秒讀取的數據塊數 Blk_wrtn/s每秒寫入的數據塊數 Blk_read 讀取的所有塊數 Blk_wrtn 寫入的所有塊數 參數:-c 顯示CPU的使用情況;-d磁盤;-k以KB這單位;-t打印開始執行時間;-x device 按磁盤名稱統計。 4、  free  內存監控 #free –m (以M為單位) [root@MYDB1 ~]# free -m              total       used       free     shared    buffers     cached Mem:           995        829        166          0        167        453 -/+ buffers/cache:        208        787 Swap:         2015          0       2015 經驗值:應用可用的內存/系統物理內存>70%,說明性能優良,<20%是,資源緊缺,需要增加內存。在這二個數之間,算正常。 5、  uptime #uptime [root@MYDB1 ~]# uptime  18:17:59 up 33 days,  3:30,  3 users,  load average: 0.00, 0.00, 0.00 系統時間、開機運行時間、登錄用戶數、1分鐘內、5分鐘內、15分鐘內平均負載。 Load average一般不能大於CPU的個數,長期大於的話,說明CPU很忙,需要優化程序或者增加CPU。 6、  netstat:網絡連接、運行端口、路由表等 #netstat –i [root@MYDB1 ~]# netstat -i Kernel Interface table Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg eth0       1500   0  5295771      0      0      0   114725      0      0      0 BMRU 參數:-a 所有的連接與端口;-n有效的連接與端口;-r 路由表;-s按協議的統計;-v與n類似;-t TCP協議;-u UDP協議;- I 自動配置的接口狀態;-l LISTEN狀態;-p對應的PID進程,-c按秒。 Iface:接口名稱 MTU:最大傳輸單元,單位字節 RX-OK/TX-OK:正確無誤的數據包 RX-ERR/TX-ERR:產生的錯誤 RX-DRP/TX-DRP:丟棄的包 RX-OVR/TX-OVR:誤差遺失的包 錯誤、丟棄、遺失的包越大,網絡問題越大。 7、  top #top PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                             1 root      20   0 19228 1520 1232 S  0.0  0.1   0:07.49 init                                                2 root      20   0     0    0    0 S  0.0  0.0   0:00.02 kthreadd                                            3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0  參數:-d 時間間隔;-I不顯示死的或閒的進程;-c 整個命令路徑;-s安全模式運行;-b分屏輸出,可與-n結合輸出到文檔;-n輸出的次數,完成後退出。 PR:優先級 NI:nice值,負值班優先級高,正的相反 VIRT:使用的虛擬內存總量,單位KB RES:占用的內存,單位KB SHR:共享內存大小,單位KB TIME+:使用的CPU時間總計,單位1/100秒 COMMAND:命令名或者路徑
Copyright © Linux教程網 All Rights Reserved