126
技術社區[雲棲]
8個Linux命令行性能監測工具
對每個係統/網絡管理員來說,每天監測Linux係統性能是一項非常艱巨的任務。在IT業從事5年的Linux係統管理員後,我發現監控和保持係統正常運行真不是件容易的事,為此,我總結了8個非常實用的命令行工具給Linux/Unix係統管理員。這些命令支持所有的Linux係統,不僅可以用於監控係統,還可以發現導致性能問題的原因所在。下麵提供的8個命令足夠你選擇其中一個用於你的場景中。
1.TOP——Linux進程監控
Linux的top命令是一個性能監視程序,許多Linux係統管理員經常使用它來監測係統性能,top命令會把所有正在運行的實時進程用列表的形式顯示出來並且會定時更新。它會顯示CPU使用量、內存使用量、交換內存、緩存大小、緩衝區大小、流程PID、用戶、命令等。它也顯示正在運行的高內存進程和CPU利用率。係統管理員使用top進行監控是非常有用的,並且可以幫助管理員在必要時采取正確的措施。下麵讓我們來看看top命令的實際使用效果吧!
- # top
TOP命令更多使用示例,可以閱讀:top命令在Linux上的12個使用案例
2.VMSTAT——虛擬內存統計
Linux的vmstat命令用於顯示虛擬內存統計,kernerl線程、磁盤、係統進程、I/O模塊、中斷、CPU活動等。默認情況下,需要在Linux係統上安裝一個sysstat包才可以使用vmstat命令。該命令的使用格式如下:
- # vmstat
- procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
- 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
最後更新:2017-04-02 15:28:28