Linux下常用的系統性能查看分析工具


Linux中,很多很全面顯示系統當前運行狀態,負載,I/O等信息的工具,幫助管理員實時瞭解系統運行動態,以及排除故障。

 

ps命令:顯示進程狀態,快照方式顯示。

進程分爲兩類:一類是用戶通過終端啓動的進程,一類是與終端無關的進程,多爲守護進程。

ps命令支持兩種風格的命令:SysV風格 BDS風格。帶橫線的是SysV風格。


ps命令選項:
    a  :與終端有關的進程
    x  : 與終端無關的進程
    u  : 顯示是哪個用戶啓動的
 
    -e : 顯示所有進程
    -f :完整格式列表顯示信息
    -F :顯示額外信息
    -H :顯示進程層次結構
    -o :自定義顯示信息
 
#ps aux | more
USER       PID       %CPU         %MEM          VSZ        RSS   TTY     STAT        START          TIMECOMMAND
root         1       0.0           0.1           19356     1544   ?        Ss          17:00          0:02/sbin/init
root         2      0.0           0.0           0          0?               S          17:00          0:00[kthreadd]
……
USER: 進程相關用戶
PID:  進程號
%CPU: CPU佔用百分比
%MEM: 內存佔用百分比
VSZ:  佔用虛擬內存大小
RSS:   常駐內存集,不可被交換的內存
TTY:  與哪個終端相關
STAT:  進程狀態
       R:運行狀態
       S:可中斷睡眠
       D:不可中斷睡眠
       T:停止的
       Z:殭屍進程
       s:會話首進程
       +:前臺進程
       l: 多線程進程
       N:低優先級進程
       <: 高優先級進程
 
START:啓動運行時間
TIME;  運行時長
COMMAND:由哪個命令啓動的此進程,如果COMMAND包含在方括號中,則表示是內核進程
 
#ps -ef | more 
UID        PID PPID  C STIME TTY          TIME CMD
root         1    0  0 17:00 ?        00:00:02 /sbin/init
root         2    0  0 17:00 ?        00:00:00 [kthreadd]
 
PPID:父進程
STIME:啓動時間
TIME: 執行累計時間
 
自定義顯示信息
#ps axo pid,command
  PID COMMAND
    1 /sbin/init
    2 [kthreadd]
    3 [migration/0]
    4 [ksoftirqd/0]
……
 
查看httpd進程是否啓動,可以使用grep命令拼接。‘
#ps -ef | grep httpd
root      1746    1  0 17:00 ?        00:00:01 /usr/sbin/httpd
apache    1753 1746  0 17:00 ?        00:00:00 /usr/sbin/httpd


pgrep命令:檢查在系統的中活動進程

pgrep命令參數
    -U UID:指定用戶啓動的進程
    -G GID:指定組相關的進程
    -t:     顯示終端相關的進程
    -l:     同時顯示進程號和程序名
#pgrep -U dhcpd
1638

 

top命令:是Linux下的分析工具,實時監控系統性能資源佔用情況

 

# top
top - 21:42:26 up 4:42,  3 users,  load average: 0.00, 0.00, 0.00
Tasks: 170 total,  1 running, 169 sleeping,   0stopped,   0 zombie
Cpu(s): 0.2%us,  0.3%sy,  0.0%ni, 99.5%id,  0.0%wa, 0.0%hi,  0.0%si,  0.0%st
Mem:   1016320ktotal,   666004k used,   350316k free,    41344k buffers
Swap:  2097144ktotal,        0k used,  2097144k free,   365124k cached


第一行:系統負載

wKiom1Pbky7BCJsRAADqhF0SJrA436.jpg


 

第二行:進程信息

wKioL1PblIPCR_soAADjZ4kJqAY545.jpg

第三行:CPU使用百分比

wKioL1PblKPg8-YVAAHn7lbqXo8616.jpg


第四行:內存信息

wKiom1Pbk7nR6M9cAAEra2fuzWM193.jpg



htop命令:

需要自己手動安裝rpm或者源碼包,CentOS6.5的系統光盤裏是沒有的。

命令行選項
-C:使用一個單色的配色方案
-d:設置延遲更新時間,單位秒
-h:顯示htop 命令幫助信息
-u:只顯示一個給定的用戶的過程
-p:只顯示給定的PIDs
-s:依此列來排序
-v:顯示版本信息

例如:
# htop -d 1 就會1秒刷新1次。
# htop -v
htop 1.0.1 - (C) 2004-2011 Hisham Muhammad
Released under the GNU GPL.
 
交互式命令:
u: 交互式選擇顯示指定用戶的進程
l: 顯示光標所在進程所打開的文件列表
s: 顯示光標所在進程執行的系統調用
a: 綁定進程到指定的CPU
#:快速定位光標至PID爲#的進程上

wKiom1PblALi0lwJAAirmkPdF5M523.jpg



vmstat:虛擬內存狀態信息

wKioL1PblVPRyfOwAAOvFwPoK8w657.jpg



iftop:流量監控工具

命令選項
-i:指定要監控的網卡設備名
-B:以bytes爲單位顯示流量
-n:不顯示主機名而是顯示IP地址
-N:說是默認顯示端口,我也始終沒看明白怎麼用(don'tconvert port numbers to services)
-F:指定顯示某網段的流量

wKioL1PblaODqP0WAAVc9qKBGEY603.jpg


dstat:全能型監控工具

-c:顯示cpu統計數據
-d: 顯示磁盤數據
-g: 顯示page的統計數據
-i: 顯示中斷的數據
-m:顯示內存
-s: 交換內存
-p: 顯示進程隊列
--ipc:顯示進程間消息隊列,信號量和共享內存的使用情況
-DDISK:只顯示指定disk的統計數據
-y: 系統狀態數據
-n: 顯示網絡接口
-Neth0:僅顯示指定網絡接口的使用情況
-f:以完整格式顯示所有信息
網絡連接狀態統計,例如 dstat --tcp
    --tcp
    --udp
    --raw
    --unix


wKiom1PblMnA9abJAAKJBYG0jJ8025.jpg


補:檢查了下有部分解釋被logo遮住了,解釋如下。

CPU使用百分比被遮住部分:用戶空間佔用CPU百分比。

dstat命令被遮住部分:磁盤讀/寫實時頻率。


總結:Linux常用監控工具很多,掃描端口的,捕獲數據流量包的,命令多少會使用一些,但是出來的結果根本看不懂,只是提一下幾個命令。

nmap:掃描開方端口的工具。

nc  ncat:左右感覺和nmap差不多。

tcpdump:分析流量數據包工具。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章