超實用的8個Linux命令行性能監測工具

 對每個系統/網絡管理員來說,每天監測Linux系統性能是一項非常艱鉅的任務。在IT業從事5年的Linux系統管理員後,我發現監控和保持系統正常運行真不是件容易的事,爲此,我總結了8個非常實用的命令行工具給Linux/Unix系統管理員。這些命令支持所有的Linux系統,不僅可以用於監控系統,還可以發現導致性能問題的原因所在。下面提供的8個命令足夠你選擇其中一個用於你的場景中。

1.TOP——Linux進程監控

Linux的top命令是一個性能監視程序,許多Linux系統管理員經常使用它來監測系統性能,top命令會把所有正在運行的實時進程用列表的形式顯示出來並且會定時更新。它會顯示CPU使用量、內存使用量、交換內存、緩存大小、緩衝區大小、流程PID、用戶、命令等。它也顯示正在運行的高內存進程和CPU利用率。系統管理員使用top進行監控是非常有用的,並且可以幫助管理員在必要時採取正確的措施。下面讓我們來看看top命令的實際使用效果吧!

  1. # top 

TOP命令更多使用示例,可以閱讀:top命令在Linux上的12個使用案例

2.VMSTAT——虛擬內存統計

Linux的vmstat命令用於顯示虛擬內存統計,kernerl線程、磁盤、系統進程、I/O模塊、中斷、CPU活動等。默認情況下,需要在Linux系統上安裝一個sysstat包纔可以使用vmstat命令。該命令的使用格式如下:

  1. # vmstat  
  2.  
  3. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----  
  4.  r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st  
  5.  1  0      0 810420  97380  70628    0    0   115     4   89   79  1  6 90  3  0 

關於vmstat命令更多使用示例,請閱讀:vmstat在Linux中的6個使用案例

3.LSOF——列出打開的文件

lsof命令和許多Linux/Unix系統命令一樣,用於顯示所有打開文件和進程。這些打開文件包括磁盤文件、網絡套接字、管道、設備和進程。使用它最主要的原因是在卸載文件系統時,如果該文件系統中有任何打開的文件,操作通常將會失敗,那麼通過lsof可以找出哪些進程在使用,此命令最常用的格式如下:

  1. # lsof  
  2.  
  3. COMMAND     PID      USER   FD      TYPE     DEVICE     SIZE       NODE NAME  
  4. init          1      root  cwd       DIR      104,2     4096          2 /  
  5. init          1      root  rtd       DIR      104,2     4096          2 /  
  6. init          1      root  txt       REG      104,2    38652   17710339 /sbin/init  
  7. init          1      root  mem       REG      104,2   129900     196453 /lib/ld-2.5.so  
  8. init          1      root  mem       REG      104,2  1693812     196454 /lib/libc-2.5.so  
  9. init          1      root  mem       REG      104,2    20668     196479 /lib/libdl-2.5.so  
  10. init          1      root  mem       REG      104,2   245376     196419 /lib/libsepol.so.1  
  11. init          1      root  mem       REG      104,2    93508     196431 /lib/libselinux.so.1  
  12. init          1      root   10u     FIFO       0,17                 953 /dev/initctl 

更多lsof使用說明請閱讀:lsof命令在Linux中的10個使用案例

4.TCPDUMP——網絡數據包分析器

tcpdump是使用最廣泛的命令行——網絡數據包分析器或數據包嗅探器程序,用來捕獲或過濾從網絡特定接口接收到或者轉移的TCP/IP數據包。它還把捕獲到的包保存到一個文件夾中。tcpdump可以在所有主要的Linux發行版上使用。

  1. # tcpdump -i eth0  
  2.  
  3. tcpdump: verbose output suppressed, use -v or -vv for full protocol decode  
  4. listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes  
  5. 22:08:59.617628 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 2532133365:2532133481(116) ack 3561562349 win 9648  
  6. 22:09:07.653466 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 116:232(116) ack 1 win 9648  
  7. 22:08:59.617916 IP 115.113.134.3.static-mumbai.vsnl.net.in.28472 > tecmint.com.ssh: . ack 116 win 64347 

更多tcpdump使用案例,請閱讀:tcpdump命令在Linux系統中的12個使用案例

5.NETSTAT——網絡統計

netstat是一個命令行工具,用於監視傳入和傳出的網絡數據包信息和接口信息統計。系統管理員使用它進行監控網絡性能和對網絡相關問題進行故障排除是非常有用的。

  1. # netstat -a | more  
  2.  
  3. Active Internet connections (servers and established)  
  4. Proto Recv-Q Send-Q Local Address               Foreign Address             State  
  5. tcp        0      0 *:mysql                     *:*                         LISTEN  
  6. tcp        0      0 *:sunrpc                    *:*                         LISTEN  
  7. tcp        0      0 *:realm-rusd                *:*                         LISTEN  
  8. tcp        0      0 *:ftp                       *:*                         LISTEN  
  9. tcp        0      0 localhost.localdomain:ipp   *:*                         LISTEN  
  10. tcp        0      0 localhost.localdomain:smtp  *:*                         LISTEN  
  11. tcp        0      0 localhost.localdomain:smtp  localhost.localdomain:42709 TIME_WAIT  
  12. tcp        0      0 localhost.localdomain:smtp  localhost.localdomain:42710 TIME_WAIT  
  13. tcp        0      0 *:http                      *:*                         LISTEN  
  14. tcp        0      0 *:ssh                       *:*                         LISTEN  
  15. tcp        0      0 *:https                     *:*                         LISTEN 

更多netstat使用案例,請閱讀:netstat在Linux上的20個使用案例

6.HTOP——Linux進程監測

Htop是一個更先進的交互性和實時性的Linux進程監控工具。這個命令與top命令非常相似,但它的功能更加豐富,如友好的用戶界面進程管理、快捷鍵、垂直和水平視圖進程等。Htop是一個第三方插件工具,你需要使用YUM軟件包管理工具在Linux系統上安裝纔可以使用。

HTOP安裝說明:在Linux中安裝HTOP(Linux進程監測)

7.lotop——監控Linux磁盤I/O

Lotop與top命令和Htop程序很相似,但它具有統計功能,實時監測和顯示磁盤I/O。這個工具對精確進程和發現高使用量的讀/寫進程非常有用的。

Loptop安裝使用說明:在Linux中安裝loptop

8.iostat——輸入/輸出統計

iostat是一個非常簡單的工具,用於收集和顯示系統輸入和輸出存儲設備統計信息。這個工具通常用於跟蹤存儲設備的性能問題,包括設備、本地磁盤、遠程磁盤比如NFS。

  1. # iostat  
  2.  
  3. Linux 2.6.18-238.9.1.el5 (tecmint.com)         09/13/2012  
  4.  
  5. avg-cpu:  %user   %nice %system %iowait  %steal   %idle  
  6.            2.60    3.65    1.04    4.29    0.00   88.42  
  7.  
  8. Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn  
  9. cciss/c0d0       17.79       545.80       256.52  855159769  401914750  
  10. cciss/c0d0p1      0.00         0.00         0.00       5459       3518  
  11. cciss/c0d0p2     16.45       533.97       245.18  836631746  384153384  
  12. cciss/c0d0p3      0.63         5.58         3.97    8737650    6215544  
  13. cciss/c0d0p4      0.00         0.00         0.00          8          0  
  14. cciss/c0d0p5      0.63         3.79         5.03    5936778    7882528  
  15. cciss/c0d0p6      0.08         2.46         2.34    3847771    3659776 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章