對每一個系統/網絡管理員來講,天天監測Linux系統性能是一項很是艱鉅的任務。在IT業從事5年的Linux系統管理員後,我發現監控和保持系統正常運行真不是件容易的事,爲此,我總結了8個很是實用的命令行工具給Linux/Unix系統管理員。這些命令支持全部的Linux系統,不只能夠用於監控系統,還能夠發現致使性能問題的緣由所在。下面提供的8個命令足夠你選擇其中一個用於你的場景中。mysql
1.TOP——Linux進程監控linux
Linux的top命令是一個性能監視程序,許多Linux系統管理員常常使用它來監測系統性能,top命令會把全部正在運行的實時進程用列表的形式顯示出來而且會定時更新。它會顯示CPU使用量、內存使用量、交換內存、緩存大小、緩衝區大小、流程PID、用戶、命令等。它也顯示正在運行的高內存進程和CPU利用率。系統管理員使用top進行監控是很是有用的,而且能夠幫助管理員在必要時採起正確的措施。下面讓咱們來看看top命令的實際使用效果吧!ios
- # top
TOP命令更多使用示例,能夠閱讀:top命令在Linux上的12個使用案例sql
2.VMSTAT——虛擬內存統計centos
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——列出打開的文件dom
lsof命令和許多Linux/Unix系統命令同樣,用於顯示全部打開文件和進程。這些打開文件包括磁盤文件、網絡套接字、管道、設備和進程。使用它最主要的緣由是在卸載文件系統時,若是該文件系統中有任何打開的文件,操做一般將會失敗,那麼經過lsof能夠找出哪些進程在使用,此命令最經常使用的格式以下:ssh
- # 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個使用案例tcp
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個使用案例(張紅月/編譯)