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

 摘要:本文總結了8個很是實用的Linux命令行性能監測工具,這些命令支持全部的Linux系統,不只能夠用於監控系統,還能夠發現致使性能問題的緣由所在。mysql

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

1.TOP——Linux進程監控ios

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

# top centos

TOP命令更多使用示例,能夠閱讀:top命令在Linux上的12個使用案例緩存

2.VMSTAT——虛擬內存統計網絡

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

# vmstat  ssh

 

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----  tcp

 r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st  

 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能夠找出哪些進程在使用,此命令最經常使用的格式以下:

# lsof  

 

COMMAND     PID      USER   FD      TYPE     DEVICE     SIZE       NODE NAME  

init          1      root  cwd       DIR      104,2     4096          2 /  

init          1      root  rtd       DIR      104,2     4096          2 /  

init          1      root  txt       REG      104,2    38652   17710339 /sbin/init  

init          1      root  mem       REG      104,2   129900     196453 /lib/ld-2.5.so  

init          1      root  mem       REG      104,2  1693812     196454 /lib/libc-2.5.so  

init          1      root  mem       REG      104,2    20668     196479 /lib/libdl-2.5.so  

init          1      root  mem       REG      104,2   245376     196419 /lib/libsepol.so.1  

init          1      root  mem       REG      104,2    93508     196431 /lib/libselinux.so.1  

init          1      root   10u     FIFO       0,17                 953 /dev/initctl 

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

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

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

# tcpdump -i eth0  

 

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode  

listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes  

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  

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  

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

# netstat -a | more  

 

Active Internet connections (servers and established)  

Proto Recv-Q Send-Q Local Address               Foreign Address             State  

tcp        0      0 *:mysql                     *:*                         LISTEN  

tcp        0      0 *:sunrpc                    *:*                         LISTEN  

tcp        0      0 *:realm-rusd                *:*                         LISTEN  

tcp        0      0 *:ftp                       *:*                         LISTEN  

tcp        0      0 localhost.localdomain:ipp   *:*                         LISTEN  

tcp        0      0 localhost.localdomain:smtp  *:*                         LISTEN  

tcp        0      0 localhost.localdomain:smtp  localhost.localdomain:42709 TIME_WAIT  

tcp        0      0 localhost.localdomain:smtp  localhost.localdomain:42710 TIME_WAIT  

tcp        0      0 *:http                      *:*                         LISTEN  

tcp        0      0 *:ssh                       *:*                         LISTEN  

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。

# iostat  

 

Linux 2.6.18-238.9.1.el5 (tecmint.com)         09/13/2012  

 

avg-cpu:  %user   %nice %system %iowait  %steal   %idle  

           2.60    3.65    1.04    4.29    0.00   88.42  

 

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn  

cciss/c0d0       17.79       545.80       256.52  855159769  401914750  

cciss/c0d0p1      0.00         0.00         0.00       5459       3518  

cciss/c0d0p2     16.45       533.97       245.18  836631746  384153384  

cciss/c0d0p3      0.63         5.58         3.97    8737650    6215544  

cciss/c0d0p4      0.00         0.00         0.00          8          0  

cciss/c0d0p5      0.63         3.79         5.03    5936778    7882528  

cciss/c0d0p6      0.08         2.46         2.34    3847771    3659776 

更多iostat使用示例和說明,閱讀:iostat命令在Linux上的6個使用案例(張紅月/編譯)

原文:Tecmint

相關文章
相關標籤/搜索