Tips:
對于每個系統(tǒng)管理員或網(wǎng)絡管理員來說,每天要監(jiān)控和調(diào)試 Linux 系統(tǒng)性能問題都是非常困難的工作。我已經(jīng)有5年 Linux 管理員的工作經(jīng)歷,知道如何監(jiān)控系統(tǒng)使其保持正常運行。為此,我們編寫了對于 Linux/Unix 系統(tǒng)管理員非常有用的并且最常用的20個命令行系統(tǒng)監(jiān)視工具。這些命令可以在所有版本的 Linux 下使用去監(jiān)控和查找系統(tǒng)性能的實際原因。這些監(jiān)控命令足夠你選擇適合你的監(jiān)控場景。
1. top —Linux系統(tǒng)進程監(jiān)控
top 命令是性能監(jiān)控程序,它可以在很多 Linux/Unix 版本下使用,并且它也是 Linux 系統(tǒng)管理員經(jīng)常使用的監(jiān)控系統(tǒng)性能的工具。Top 命令可以定期顯示所有正在運行和實際運行并且更新到列表中,它顯示出 CPU 的使用、內(nèi)存的使用、交換內(nèi)存、緩存大小、緩沖區(qū)大小、過程控制、用戶和更多命令。它也會顯示內(nèi)存和 CPU 使用率過高的正在運行的進程。當我們對 Linux 系統(tǒng)需要去監(jiān)控和采取正確的行動時,top 命令對于系統(tǒng)管理員是非常有用的。讓我們看下 top 命令的實際操作。
# top
# top
2. vmstat — 虛擬內(nèi)存統(tǒng)計
vmstat 命令是用于顯示虛擬內(nèi)存、內(nèi)核線程、磁盤、系統(tǒng)進程、I/O 模塊、中斷、CPU 活躍狀態(tài)等更多信息。在默認的情況下,Linux 系統(tǒng)是沒有 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 st
1 0 0 810420 97380 70628 0 0 115 4 89 79 1 6 90 3 0
# vmstat
system memory -> minimum swap space。*limited by system memory (physical + swap file) available.。***due to the operating system limitation, the actual memory size may be less than 4gb for the reservation for system usage under windows 32-bit os. for windows 64-bit os with 64-bit cpu, there is no such limitation.。
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
3. lsof — 打開文件列表
lsof 命令對于很多 Linux/Unix 系統(tǒng)都可以使用,主要以列表的形式顯示打開的文件和進程。
打開的文件主要包括磁盤文件、網(wǎng)絡套接字、管道、設備和進程。使用這個命令的主要原因是一個一個盤不能卸載并且顯示文件正在使用或者打開的錯誤信息。這個命令很容易看出哪些文件正在使用。這個命令最常用的格式:
# lsof
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
init 1 root cwd DIR 104,2 4096 2 /