須要監控Linux服務器系統性能嗎?嘗試下面這些系統內置或附件的工具吧。大多數Linux發行版本都裝備了大量的監控工具。這些工具提供了能用做取得相關信息和系統活動的量度指標。你能使用這些工具發現形成性能問題可能緣由。php
#1: top - 進程活動html
做爲一個廣爲人知的Linux工具,top是大多數的類Unix操做系統任務管理器。它能夠顯示當前正在運行的進程的列表,用戶能夠按照不一樣的條件對該列表進行排序。它主要顯示了系統進程對CPU和內存的使用情況。top能夠快速檢查是哪一個或哪幾個進程掛起了你的系統。你能夠在這裏看到top使用的例子。你能夠在終端輸入top來運行它並進入到交互模式:linux
語 法:top [bciqsS][d <間隔秒數>][n <執行次數>]服務器
參 數:
b 使用批處理模式。
c 列出程序時,顯示每一個程序的完整指令,包括指令名稱,路徑和參數等相關信息。
d<間隔秒數> 設置top監控程序執行情況的間隔時間,單位以秒計算。
i 執行top指令時,忽略閒置或是已成爲Zombie的程序。
n<執行次數> 設置監控信息的更新次數。
q 持續監控程序執行的情況。
s 使用保密模式,消除互動模式下的潛在危機。
S 使用累計模式,其效果相似ps指令的"-S"參數app
#2: ps - 顯示進程socket
ps命令顯示當前運行進程的快照.ps是用來報告程序執行情況的指令,您能夠搭配kill指令隨時中斷,刪除沒必要要的程序。tcp
參 數:
-a 顯示全部終端機下執行的程序,除了階段做業領導者以外。 ide
-u<用戶識別碼> 此參數的效果和指定"-U"參數相同。 工具
L 列出欄位的相關信息。性能
x 顯示全部程序,不以終端機來區分。
a 顯示現行終端機下的全部程序,包括其餘用戶的程序。
經常使用組合:ps aux , ps –ef, ps –eFH,ps –eo,axo ,
查看使用Vivek用戶名運行的進程
# ps -U vivek -u vivek u
設置自定義輸出格式
# ps -eopid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
# ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
# ps -eopid,tt,user,fname,tmout,f,wchan
只顯示Lighttpd的進程ID
# ps-C lighttpd -o pid=
或者
#pgrep lighttpd
或者
# pgrep -u vivek php-cgi
顯示PID爲55977的進程名稱
# ps-p 55977 -o comm=
找出消耗內存最多的前10名進程
# ps-auxf | sort -nr -k 4 | head -10
找出使用CPU最多的前10名進程
# ps -auxf | sort -nr -k 3 | head -10
#3: htop
參數:
-d #:指定延遲時間間隔;
-u UserName:僅顯示指定用戶的進程;
-s COLUME:以指定字段進行排序;
子命令:
l:顯示選定的進程打開的文件列表;
s:跟蹤選定的進程的系統調用;
t:以層級關係顯示各進程狀態;
a:將選定的進程綁定至某指定的CPU核心;
#4: dstat命令
經常使用參數:
-c, --cpu:顯示cpu相關信息;
-C #,#,...,total
-d, --disk:顯示磁盤的相關信息
-D sda,sdb,...,tobal
-g:顯示page相關的速率數據;
-m:Memory的相關統計數據
-n:Interface的相關統計數據;
-p:顯示process的相關統計數據;
-r:顯示io請求的相關的統計數據;
-s:顯示swapped的相關統計數據;--tcp
--udp
--raw
--socket --ipc --top-cpu:顯示最佔用CPU的進程;
--top-io:最佔用io的進程;
--top-mem:最佔用內存的進程;
--top-lantency:延遲最大的進程;kill命令:- terminate a process用於向進程發送信號,以實現對進程的管理;顯示當前系統可用信號:
#5: vmstat– 虛擬內存統計信息
vmstat是虛擬內存(virtual memory statistics)的縮寫,做爲一個內存監控工具,它收集和顯示關於內存,進程,終端和分頁和I/O阻塞的歸納信息。做爲一個開源程序,它能夠在大部分Linux發行版本中找到,包括Solaris和FreeBSD。它用來診斷大部分的內存性能問題和其餘相關問題。