20个命令行工具监控 Linux 系统性能(转载)
1. top?—?Linux?系統進程監控
top?命令是性能監控程序,它可以在很多?Linux/Unix?版本下使用,并且它也是?Linux?系統管理員經常使用的監控系統性能的工具。Top?命令可以定期顯示所有正在運行和實際運行并且更新到列表中,它顯示出?CPU?的使用、內存的使用、交換內存、緩存大小、緩沖區大小、過程控制、用戶和更多命令。它也會顯示內存和?CPU?使用率過高的正在運行的進程。當我們對 Linux?系統需要去監控和采取正確的行動時,top?命令對于系統管理員是非常有用的。讓我們看下?top?命令的實際操作。
# top
2. vmstat?— 虛擬內存統計
vmstat?命令是用于顯示虛擬內存、內核線程、磁盤、系統進程、I/O?模塊、中斷、CPU?活躍狀態等更多信息。在默認的情況下,Linux?系統是沒有?vmstat?這個命令的,如果你要使用它,必須安裝一個包名叫?sysstat?的程序包。命令格式常用用法如下:
# vmstat procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----r b swpd free inact active si so bi bo in cs us sy id wa st1 0 0 810420 97380 70628 0 0 115 4 89 79 1 6 90 3 03. lsof?— 打開文件列表
lsof?命令對于很多 Linux/Unix?系統都可以使用,主要以列表的形式顯示打開的文件和進程。
打開的文件主要包括磁盤文件、網絡套接字、管道、設備和進程。使用這個命令的主要原因是一個一個盤不能卸載并且顯示文件正在使用或者打開的錯誤信息。這個命令很容易看出哪些文件正在使用。這個命令最常用的格式:
# lsofCOMMAND 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?
4. tcpdump?— 網絡數據包分析器
tcpdump?是一種使用最廣泛的命令行網絡數據包分析器或數據包嗅探程序,主要用于捕獲和過濾?TCP/IP?包收到或者轉移在一個網絡的特定借口信息。它也提供了一個選項參數去保存將捕獲的包在一個文件中用于以后分析使用,tcpdump?幾乎在所有的 Linux?版本中都是可用的。
# tcpdump -i eth0tcpdump: 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?
5. netstat?— 網絡統計
netstat?命令是一個監控網絡數據包傳入和傳出的統計界面的命令行工具。它對于許多系統管理員去監控網絡性能和解決網絡相關問題是一個非常有用的工具。
# tcpdump -i eth0tcpdump: 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?
6. htop?— 進程監控
htop?是一個更加先進的交互式的實時監控工具。htop?與?top?命令非常相似,但是他有一些非常豐富的功能,如用戶友好界面管理進程、快捷鍵、橫向和縱向進程等更多的。htop?是一個第三方工具并不包括在 Linux?系統中,你需要使用包管理工具進行安裝。
# htop7. iotop?— 監控 Linux?磁盤?I/O
iotop?也是和?top?和?htop?命令相似,但是它會有一個報告功能去監控和顯示實時的磁盤?I/O?輸入和輸出和程序進程。這個工具對于查找精確的高的磁盤讀/寫過程是非常有用的。
# iotop?
8. iostat?— 輸入/輸出統計
iostat?是收集和展示系統輸入和輸出存儲設備統計的簡單工具。這個工具通常用于查找存儲設備性能問題,包括設備、本地磁盤、例如?NFS?遠程磁盤。
# iostatLinux 2.6.18-238.9.1.el5 (tecmint.com) 09/13/2012avg-cpu: %user %nice %system %iowait %steal %idle2.60 3.65 1.04 4.29 0.00 88.42Device: 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 36597769. IPTraf —實時IP局域網監控
IPTraf 是一個基于開源的 Linux?系統實時網絡(IP?網絡)監測的工具。它能收集到各種各樣的信息,如通過網絡對?IP?流量監測,包括?TCP?標志信息、ICMP?詳細細節、TCP/UDP?流量故障、TCP?連接的數據包和拜恩計數。并且它還收集?TCP,UDP,ICMP,IP,非?IP,IP?校驗錯誤,界面活性等一般信息和詳細信息的接口統計數據。
10. Psacct?或者?Acct?— 監視用戶活動
Psacct?或者?Acct?是用于監測每個用戶對系統的活躍狀態的一個非常有用的工具。在后臺有兩個守護進程在運行,一個是密切關注系統上每個用戶的整體活動,另一個進程關注有哪些資源被它們消耗。
???這個工具對于系統管理員是非常有用的去跟蹤每個用戶的活動,可以知道用戶正在做什么,發出了什么樣的命令,占用了多少資源,多長時間活躍在系統上。
11. Monit?— 程序和服務監測
這是一個免費的開源的基于?web?程序的自動監控和管理系統進程、程序、文件、目錄、權限、校驗文件系統。它監控的服務包括?Apache、MYSQL、Mail、FTP、Nginx?等等。系統狀態是可以從命令行或者自己的網絡接口來查看。
12. NetHogs?— 監視每個進程的網絡帶寬
NetHogs?是一個開源的漂亮的小程序(類似于 Linux?上面的?top?命令),在您的系統上保持每個進程的網絡活動狀態。它也保持了一個程序或者應用實時的網絡流量帶寬使用情況。
13. iftop?— 網絡帶寬監控
iftop?是另一個基于終端的開源的系統監測工具,主要功能是通過你自己系統上的網絡接口顯示一個經常更新的網絡帶寬利用率的列表(即源主機和目的主機)。iftop?監控的是網絡的使用情況,而?top?監控的是?CPU?的使用情況。iftop?監視一個選定的接口并且顯示兩臺主機之間當前寬帶的使用情況。
14. Monitorix?— 系統和網絡監控
Monitorix?是一個盡可能多的在 Linux/Unix?上一個輕量級監控工具,主要設計是監控正在運行的系統和網絡資源。它有一個內置的?HTTP web?服務去定期收集系統和網絡信息并顯示成圖片。它可以監視系統的平均負載使用、內存的分配、磁盤驅動器、系統服務、網絡端口、郵件統計(Sendmail、Postfix、Dovecot?等等)、MYSQL?數據庫等等更多的服務。它的主要目的是監控整個系統的性能,并且有助于監測故障、瓶頸、異常活動等狀況。
15. Arpwatch?— 以太網活動監控器
Arpwatch是一種用來監視 Linux?網絡的以太網的網絡流量的地址解析(網絡地址轉換)的一個程序。它一直隨著網絡時間戳的變化監視以太網流量和產生日志的?IP?和?MAC?地址對。當一個?IP?地址或?MAC?地址對發生變化的時候,它會發送電子郵件通知管理員。
并且它在檢測?ARP?攻擊是非常有用的。
16. Suricata?— 網絡安全監控
Suricata?是一個高性能的開源的網絡安全與入侵檢測與預防?Linux、FreeBSD、Windows?等操作系統的監控工具。它是一個非營利基金?OISF(Open Information Security Foundation)擁有的。
17. VnStat PHP?— 監測網絡帶寬
VnStat PHP?是一個?web?前端應用最流行的社交工具叫“vnstat”。?VnStat PHP?使用了很好的圖形模式監控網絡流量的使用情況。它顯示了每時、每天、每月的總結報告中的網絡流量使用情況。
18. Nagios — 網絡/服務器監控
Nagios?是一個領先的開源的強大的監控系統,網絡/系統管理員在他們影響主要業務流程之前識別和解決服務器相關的問題。Nagios?可以監控遠程 Linux、Windows、開關、單窗口的路由器和打印機。它能顯示你的網絡和服務器關鍵的告警,有利于在錯誤反生之前幫助你解決問題。
19. Nmon —?監控Linux系統性能
Nmon(即奈吉爾性能監視器)工具用來監視?Linux?系統的所有資源包括:CPU、內存、磁盤使用率、網絡上的進程、NFS、內核等等。這個工具有兩個模式:即在線模式和捕捉模式。在線模式適用于實時監控,捕捉模式用于存儲輸出為?CSV?格式后的處理。
??
20. Collectl?— 一體化性能檢測工具
Collectl?是另一個功能強大的基于命令行的監控工具,它可用于收集有關系統資源的信息,包括?CPU?使用率、內存、網絡、節點、進程、NFS、TCP?套接等等。
?
轉載于:https://www.cnblogs.com/imzye/p/5097160.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的20个命令行工具监控 Linux 系统性能(转载)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简单使用URLConnection、Ht
- 下一篇: studio-引入外来包