現在介紹一些linux系統調試工具
1. top —Linux系統進程監控
top 命令是性能監控程序,它可以在很多 Linux/Unix 版本下使用,并且它也是 Linux 系統管理員經常使用的監控系統性能的工具。Top 命令可以定期顯示所有正在運行和實際運行并且更新到列表中,它顯示出 CPU 的使用、內存的使用、交換內存、緩存大小、緩沖區大小、過程控制、用戶和更多命令。它也會顯示內存和 CPU 使用率過高的正在運行的進程。當我們對 Linux 系統需要去監控和采取正確的行動時,top 命令對于系統管理員是非常有用的。
2. vmstat — 虛擬內存統計
vmstat 命令是用于顯示虛擬內存、內核線程、磁盤、系統進程、I/O 模塊、中斷、CPU 活躍狀態等更多信息。在默認的情況下,Linux 系統是沒有 vmstat 這個命令的,如果你要使用它,必須安裝一個包名叫 sysstat 的程序包。
3. lsof — 打開文件列表
lsof 命令對于很多 Linux/Unix 系統都可以使用,主要以列表的形式顯示打開的文件和進程。
打開的文件主要包括磁盤文件、網絡套接字、管道、設備和進程。使用這個命令的主要原因是一個一個盤不能卸載并且顯示文件正在使用或者打開的錯誤信息。這個命令很容易看出哪些文件正在使用。
4. tcpdump — 網絡數據包分析器
tcpdump 是一種使用最廣泛的命令行網絡數據包分析器或數據包嗅探程序,主要用于捕獲和過濾 TCP/IP 包收到或者轉移在一個網絡的特定借口信息。它也提供了一個選項參數去保存將捕獲的包在一個文件中用于以后分析使用,tcpdump 幾乎在所有的 Linux 版本中都是可用的。
5. netstat — 網絡統計
netstat 命令是一個監控網絡數據包傳入和傳出的統計界面的命令行工具。它對于許多系統管理員去監控網絡性能和解決網絡相關問題是一個非常有用的工具。
6. htop — 進程監控
htop 是一個更加先進的交互式的實時監控工具。htop 與 top 命令非常相似,但是他有一些非常豐富的功能,如用戶友好界面管理進程、快捷鍵、橫向和縱向進程等更多的。htop 是一個第三方工具并不包括在 Linux 系統中,你需要使用包管理工具進行安裝。
7. iotop — 監控 Linux 磁盤 I/O
iotop 也是和 top 和 htop 命令相似,但是它會有一個報告功能去監控和顯示實時的磁盤 I/O 輸入和輸出和程序進程。這個工具對于查找精確的高的磁盤讀/寫過程是非常有用的。
8. iostat — 輸入/輸出統計
iostat 是收集和展示系統輸入和輸出存儲設備統計的簡單工具。這個工具通常用于查找存儲設備性能問題,包括設備、本地磁盤、例如 NFS 遠程磁盤。
9. 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 等等。系統狀態是可以從命令行或者自己的網絡接口來查看。