推薦-Centos常用的進程管理和資源查看工具

一、pstree

    pstree命令以樹狀圖的方式展現進程之間的派生關系

-a:顯示每個程序的完整指令,包含路徑,參數或是常駐服務的標示; 
-c:不使用精簡標示法; 
-G:使用VT100終端機的列繪圖字符; 
-h:列出樹狀圖時,特別標明現在執行的程序; 
-H<程序識別碼>:此參數的效果和指定"-h"參數類似,但特別標明指定的程序; 
-l:采用長列格式顯示樹狀圖; 
-n:用程序識別碼排序。預設是以程序名稱來排序; 
-p:顯示程序識別碼; 
-u:顯示用戶名稱; 
-U:使用UTF-8列繪圖字符; 
-V:顯示版本信息

    例如我要查看系統中所有的httpd進程和線程

[root@localhost ~]# pstree -p | grep httpd
           |-httpd(2821)-+-httpd(2822)-+-{httpd}(2827)
           |             |             |-{httpd}(2828)
           |             |             |-{httpd}(2829)
           |             |             |-{httpd}(2836)
           |             |             |-{httpd}(2837)
           |             |             |-{httpd}(2838)
           |             |             |-{httpd}(2886)
           |             |             |-{httpd}(2887)
           |             |             |-{httpd}(2888)
           |             |             |-{httpd}(2889)
           |             |             |-{httpd}(2890)
           |             |             |-{httpd}(2891)
           |             |             |-{httpd}(2892)
           |             |             |-{httpd}(2893)
           |             |             |-{httpd}(2894)
           |             |             |-{httpd}(2895)
           |             |             |-{httpd}(2896)
           |             |             |-{httpd}(2897)
           |             |             |-{httpd}(2898)
           |             |             |-{httpd}(2899)
           |             |             |-{httpd}(2900)
           |             |             |-{httpd}(2901)
           |             |             |-{httpd}(2902)
           |             |             |-{httpd}(2903)
           |             |             |-{httpd}(2904)
           |             |             `-{httpd}(2905)
           |             |-httpd(2823)-+-{httpd}(2830)
           |             |             |-{httpd}(2831)
           |             |             |-{httpd}(2832)
           |             |             |-{httpd}(2833)
           |             |             |-{httpd}(2834)
           |             |             |-{httpd}(2835)
           |             |             |-{httpd}(2846)
           |             |             |-{httpd}(2847)
           |             |             |-{httpd}(2848)
           |             |             |-{httpd}(2849)
           |             |             |-{httpd}(2850)
           |             |             |-{httpd}(2851)
           |             |             |-{httpd}(2852)
           |             |             |-{httpd}(2853)
           |             |             |-{httpd}(2854)
           |             |             |-{httpd}(2855)
           |             |             |-{httpd}(2856)
           |             |             |-{httpd}(2857)
           |             |             |-{httpd}(2858)
           |             |             |-{httpd}(2859)
           |             |             |-{httpd}(2860)
           |             |             |-{httpd}(2861)
           |             |             |-{httpd}(2862)
           |             |             |-{httpd}(2863)
           |             |             |-{httpd}(2864)
           |             |             `-{httpd}(2865)
           |             `-httpd(2824)-+-{httpd}(2840)
           |                           |-{httpd}(2841)
           |                           |-{httpd}(2842)
           |                           |-{httpd}(2843)
           |                           |-{httpd}(2844)
           |                           |-{httpd}(2845)
           |                           |-{httpd}(2866)
           |                           |-{httpd}(2867)
           |                           |-{httpd}(2868)
           |                           |-{httpd}(2869)
           |                           |-{httpd}(2870)
           |                           |-{httpd}(2871)
           |                           |-{httpd}(2872)
           |                           |-{httpd}(2873)
           |                           |-{httpd}(2874)
           |                           |-{httpd}(2875)
           |                           |-{httpd}(2876)
           |                           |-{httpd}(2877)
           |                           |-{httpd}(2878)
           |                           |-{httpd}(2879)
           |                           |-{httpd}(2880)
           |                           |-{httpd}(2881)
           |                           |-{httpd}(2882)
           |                           |-{httpd}(2883)
           |                           |-{httpd}(2884)
           |                           `-{httpd}(2885)

    因為pstree以樹狀圖顯示,所以非常直觀,加上進程的PID還能顯示這個PID對應的進程的詳細情況

[root@localhost ~]# pstree 2821
httpd───3*[httpd───26*[{httpd}]]
#這里表示httpd下有3個子進程26個線程

二、vmstat

    vmstat可以展現給定時間間隔的服務器的狀態值,包括服務器的CPU使用率,內存使用,虛擬內存交換情況,IO讀寫情況等

-a:顯示活躍和非活躍內存
-f:顯示從系統啟動至今的fork數量
-m:顯示slabinfo
-n:只在開始時顯示一次各字段名稱
-s:顯示內存相關統計信息及多種系統活動數量
delay:刷新時間間隔。如果不指定,只顯示一條結果
count:刷新次數。如果不指定刷新次數,但指定了刷新時間間隔,這時刷新次數為無窮
-d:顯示磁盤相關統計信息
-p:顯示指定磁盤分區統計信息
-S:使用指定單位顯示。參數有 k 、K 、m 、M ,分別代表1000、1024、1000000、1048576字節(byte)
-V:顯示vmstat版本信息

    直接使用則只顯示一次系統現在的情況,例如

[root@localhost ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 575980    952 306180    0    0     1     0   16   27  0  0 100  0  0
procs:
    r:等待運行的進程的個數;
    b:處于不可中斷睡眠態的進程個數;(被阻塞的隊列的長度);
memory:
    swpd: 交換內存的使用總量; 
    free:空閑物理內存總量;
    buffer:用于buffer的內存總量;
    cache:用于cache的內存總量;
swap:
    si:數據進入swap中的數據速率(kb/s)
    so:數據離開swap中的數據速率(kb/s)
io:
    bi:從塊設備讀入數據到系統的速率;(kb/s)
    bo: 保存數據至塊設備的速率;
system:
    in: 中斷速率;
    cs: 進程切換速率
cpu:
    us:用戶使用CPU百分比
    sy:系統使用CPU百分比
    id:空閑CPU使用率
    wa:IO等待時間百分比

    我們可以自動反復采集系統現在的使用情況

[root@localhost ~]# vmstat 1 10
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0      0 576256    952 306160    0    0     1     0   16   27  0  0 100  0  0
 0  0      0 576280    952 306168    0    0     0     0  104  176  0  0 100  0  0
 0  0      0 576248    952 306168    0    0     0     0   85  137  0  0 100  0  0
 0  0      0 576280    952 306168    0    0     0     0   85  136  0  0 100  0  0
 0  0      0 576280    952 306168    0    0     0     0   88  151  0  0 100  0  0
 0  0      0 576280    952 306168    0    0     0     0   73  126  0  0 100  0  0
 0  0      0 576280    952 306168    0    0     0     0   65  113  0  0 100  0  0
 0  0      0 576280    952 306168    0    0     0     0   69  120  0  0 100  0  0
 0  0      0 576248    952 306168    0    0     0     0   79  135  0  0 100  0  0
 0  0      0 576248    952 306168    0    0     0     0   72  124  0  0 100  0  0
 #1表示一秒采集一次系統狀態
 #10表示一共采集十次

三、pmap

    pmap命令用于顯示一個或多個進程的內存狀態

-x extended顯示擴展格式
-d device顯示設備格式
-q quiet不顯示header/footer行
-V 顯示版本信息

    后面必須接進程PID,例如

[root@localhost ~]# pmap -x 1250
1250:   /usr/sbin/sshd -D
Address           Kbytes     RSS   Dirty Mode  Mapping
00007f7541c98000      44      20       0 r-x-- libnss_files-2.17.so
00007f7541ca3000    2044       0       0 ----- libnss_files-2.17.so
00007f7541ea2000       4       4       4 r---- libnss_files-2.17.so
00007f7541ea3000       4       4       4 rw--- libnss_files-2.17.so
00007f7541ea4000      24       0       0 rw---   [ anon ]
00007f7541eaa000      28      12       0 r-x-- librt-2.17.so
00007f7541eb1000    2044       0       0 ----- librt-2.17.so
00007f75420b0000       4       4       4 r---- librt-2.17.so
00007f75420b1000       4       4       4 rw--- librt-2.17.so
00007f75420b2000      12       8       0 r-x-- libkeyutils.so.1.5
00007f75420b5000    2044       0       0 ----- libkeyutils.so.1.5
00007f75422b4000       4       4       4 r---- libkeyutils.so.1.5
00007f75422b5000       4       4       4 rw--- libkeyutils.so.1.5
00007f75422b6000      52      16       0 r-x-- libkrb5support.so.0.1
00007f75422c3000    2048       0       0 ----- libkrb5support.so.0.1
00007f75424c3000       4       4       4 r---- libkrb5support.so.0.1
###########################中間太多省略#############################
00007f7546be9000       4       4       4 rw--- libfipscheck.so.1.2.1
00007f7546bea000     132     116       0 r-x-- ld-2.17.so
00007f7546df2000      72      72      72 rw---   [ anon ]
00007f7546e0a000       4       4       4 rw---   [ anon ]
00007f7546e0b000       4       4       4 r---- ld-2.17.so
00007f7546e0c000       4       4       4 rw--- ld-2.17.so
00007f7546e0d000       4       4       4 rw---   [ anon ]
00007f7546e0e000     764     264       0 r-x-- sshd
00007f75470cc000      16      16      16 r---- sshd
00007f75470d0000       4       4       4 rw--- sshd
00007f75470d1000      40      40      40 rw---   [ anon ]
00007f75489a6000     132      72      72 rw---   [ anon ]
00007ffd7441e000     132      20      20 rw---   [ stack ]
00007ffd74547000       8       4       0 r-x--   [ anon ]
ffffffffff600000       4       0       0 r-x--   [ anon ]
---------------- ------- ------- ------- 
total kB           82544    3604     852

 每個字段的意義

Address: 內存開始地址
Kbytes: 占用內存的字節數(KB)
RSS: 保留內存的字節數(KB)
Dirty: 臟頁的字節數(包括共享和私有的)(KB)
Mode: 內存的權限:read、write、execute、shared、private (寫時復制)
Mapping: 占用內存的文件、或[anon](分配的內存)、或[stack](堆棧)
Offset: 文件偏移
Device: 設備名 (major:minor)

四、glances

    非常優秀的一款系統資源查看工具,可以查看 CPU、負載、內存、磁盤 I/O、網絡流量、文件系統、系統溫度等信息

    常用選項

-b: 以Byte為單位顯示網卡數據速率;
-d: 關閉磁盤I/O模塊;
-f /path/to/somefile: 設定輸入文件位置;
-o {HTML|CSV}:輸出格式;
-m: 禁用mount模塊
-n: 禁用網絡模塊
-t SECONDS: 延遲時間間隔
-1:每個CPU的相關數據單獨顯示;
[root@localhost ~]# glances

                                            localhost.localdomain (CentOS Linux 7.2.1511 64bit / Linux 3.10.0-327.el7.x86_64                                             Uptime: 1 day, 0:10:38

CPU       0.6%  steal:    0.0%   Load   4核	 Mem    19.2%  active:    230M   Swap    0.0%
user:     0.3%  nice:     0.0%   1 min:   0.04   total:  993M  inactive:  103M   total: 2.00G
system:   0.2%  iowait:   0.0%   5 min:   0.03   used:   190M  buffers:   952K   used:      0
idle:    99.4%  irq:	  0.0%   15 min:  0.05   free:   803M  cached:    257M   free:  2.00G

網絡       Rx/s    Tx/s   Tasks  119 (212 thr),  1 run, 118 slp,  0 oth  自動排序
_1677772    8Kb     3Kb
lo           0b      0b    VIRT   RES  CPU%  MEM%   PID USER        NI S    TIME+ IOR/s IOW/s NAME
                           232M   15M   2.6   1.5  5878 root         0 R  0:01.17     0     0 /usr/bin/python /usr/bin/glances
Disk I/O   In/s   Out/s       0     0   1.0   0.0    13 root         0 S  2:06.50     0     0 rcu_sched
dm-0          0       0       0     0   0.3   0.0    14 root         0 S  1:18.83     0     0 rcuos/0
dm-1          0       0       0     0   0.3   0.0    16 root         0 S  0:05.46     0     0 rcuos/2
fd0           0       0    120M    4M   0.0   0.4     1 root         0 S  0:04.71     0     0 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
sda1          0       0       0     0   0.0   0.0     2 root         0 S  0:00.60     0     0 kthreadd
sda2          0       0       0     0   0.0   0.0     3 root         0 S  0:00.46     0     0 ksoftirqd/0
sdb           0       0       0     0   0.0   0.0     5 root	   -20 S  0:00.00     0     0 kworker/0:0H
sdc           0       0       0     0   0.0   0.0     7 root         0 S  0:01.60     0     0 migration/0
sr0           0       0       0     0   0.0   0.0     8 root         0 S  0:00.00     0     0 rcu_bh
                              0     0   0.0   0.0     9 root         0 S  0:00.00     0     0 rcuob/0
Mount      Used   Total       0     0   0.0   0.0    10 root         0 S  0:00.00     0     0 rcuob/1
/         1.86G   17.5G       0     0   0.0   0.0    11 root         0 S  0:00.00     0     0 rcuob/2
/boot      124M    497M       0     0   0.0   0.0    12 root         0 S  0:00.00     0     0 rcuob/3
/run      6.73M    496M       0     0   0.0   0.0    15 root         0 S  0:06.15     0     0 rcuos/1
_/user/0      0   99.3M       0     0   0.0   0.0    17 root         0 S  0:05.51     0     0 rcuos/3
                              0     0   0.0   0.0    18 root         0 S  0:00.47     0     0 watchdog/0
                              0     0   0.0   0.0    19 root         0 S  0:00.56     0     0 watchdog/1
                              0     0   0.0   0.0    20 root         0 S  0:01.53     0     0 migration/1
                              0     0   0.0   0.0    21 root         0 S  0:00.48     0     0 ksoftirqd/1

    狀態欄的意義:

VIRT: 虛擬內存大小
RES: 進程占用的物理內存值
%CPU:該進程占用的 CPU 使用率
%MEM:該進程占用的物理內存和總內存的百分比
PID: 進程 ID 號
USER: 進程所有者的用戶名
TIME+: 該進程啟動后占用的總的 CPU 時間
IO_R 和 IO_W: 進程的讀寫 I/O 速率
NAME: 進程名稱
NI: 進程優先級
S: 進程狀態,其中 S 表示休眠,R 表示正在運行,Z 表示僵死狀態。

    功能鍵用法:

h : 顯示幫助信息
q : 離開程序退出
c :按照 CPU 實時負載對系統進程進行排序
m :按照內存使用狀況對系統進程排序
i:按照 I/O 使用狀況對系統進程排序
p: 按照進程名稱排序
d : 顯示磁盤讀寫狀況
w : 刪除日志文件
l :顯示日志
s: 顯示傳感器信息
f : 顯示系統信息
1 :輪流顯示每個 CPU 內核的使用情況(次選項僅僅使用在多核 CPU 系統)

五、ps

    ps命令是最基本同時也是非常強大的進程查看命令,使用該命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程占用了過多的資源等等

常用選項

a:顯示所有進程
-a:顯示同一終端下的所有程序
-A:顯示所有進程
c:顯示進程的真實名稱
-N:反向選擇
-e:等于“-A”
e:顯示環境變量
f:顯示程序間的關系
-H:顯示樹狀結構
r:顯示當前終端的進程
T:顯示當前終端的所有程序
u:指定用戶的所有進程
-l: 顯示進程名
-C<命令>:列出指定命令的狀況
--lines<行數>:每頁顯示的行數
--width<字符數>:每頁顯示的字符數
--help:顯示幫助信息
--version:顯示版本顯示

    常用的組合:

[root@localhost ~]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.3 123136  3716 ?        Ss   3月19   0:04 /usr/lib/systemd/systemd --switched-r
root         2  0.0  0.0      0     0 ?        S    3月19   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    3月19   0:00 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<   3月19   0:00 [kworker/0:0H]
root         7  0.0  0.0      0     0 ?        S    3月19   0:01 [migration/0]
#u: 以用戶為中心組織進程狀態信息顯示
#a: 與終端相關的進程;
#x: 與終端無關的進程;
[root@localhost ~]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 3月19 ?       00:00:04 /usr/lib/systemd/systemd --switched-root --system --des
root         2     0  0 3月19 ?       00:00:00 [kthreadd]
root         3     2  0 3月19 ?       00:00:00 [ksoftirqd/0]
root         5     2  0 3月19 ?       00:00:00 [kworker/0:0H]
root         7     2  0 3月19 ?       00:00:01 [migration/0]
#-e: 顯示所有進程
#-f: 顯示完整格式程序信息
[root@localhost ~]# ps -eFH
UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
root         2     0  0     0     0   0 3月19 ?       00:00:00 [kthreadd]
root         3     2  0     0     0   0 3月19 ?       00:00:00   [ksoftirqd/0]
root         5     2  0     0     0   0 3月19 ?       00:00:00   [kworker/0:0H]
root         7     2  0     0     0   0 3月19 ?       00:00:01   [migration/0]
root         8     2  0     0     0   0 3月19 ?       00:00:00   [rcu_bh]
root         9     2  0     0     0   0 3月19 ?       00:00:00   [rcuob/0]
root        10     2  0     0     0   0 3月19 ?       00:00:00   [rcuob/1]
#-F: 顯示完整格式的進程信息
#-H: 以進程層級格式顯示進程相關信息

    可以和grep結合查詢指定進程

[root@localhost ~]# ps aux | grep httpd
root      2821  0.0  0.2  70792  2176 ?        Ss   3月19   0:03 /usr/local/apache2.4/bin/httpd
daemon    2822  0.0  0.4 359756  4240 ?        Sl   3月19   0:31 /usr/local/apache2.4/bin/httpd
daemon    2823  0.0  0.4 490828  4756 ?        Sl   3月19   0:31 /usr/local/apache2.4/bin/httpd
daemon    2824  0.0  0.4 359756  4260 ?        Sl   3月19   0:31 /usr/local/apache2.4/bin/httpd

六、top

    top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源占用狀況

    top是交互式工具,可使用交互式命令,排序什么的非常方便

top - 10:42:33 up 1 day,  1:11,  2 users,  load average: 0.00, 0.01, 0.05
Tasks: 120 total,   3 running, 117 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.1 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 28.8/1016816  [||||||||||||||||||||||                                                      ]
KiB Swap:  0.0/2097148  [                                                                            ]

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                           
 5962 root      20   0  146152   1988   1396 R   0.3  0.2   0:00.33 top                               
    1 root      20   0  123136   3716   2388 S   0.0  0.4   0:04.94 systemd                           
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.06 kthreadd                          
    3 root      20   0       0      0      0 S   0.0  0.0   0:00.47 ksoftirqd/0                       
    5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H                      
    7 root      rt   0       0      0      0 S   0.0  0.0   0:01.60 migration/0                       
    8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh                            
    9 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/0                           
   10 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/1                           
   11 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/2                           
   12 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/3                           
   13 root      20   0       0      0      0 R   0.0  0.0   2:18.79 rcu_sched                         
   14 root      20   0       0      0      0 S   0.0  0.0   1:23.75 rcuos/0                           
   15 root      20   0       0      0      0 S   0.0  0.0   0:06.45 rcuos/1                           
   16 root      20   0       0      0      0 S   0.0  0.0   0:06.16 rcuos/2                           
   17 root      20   0       0      0      0 S   0.0  0.0   0:06.37 rcuos/3                           
   18 root      rt   0       0      0      0 S   0.0  0.0   0:00.48 watchdog/0                        
   19 root      rt   0       0      0      0 S   0.0  0.0   0:00.57 watchdog/1                        
   20 root      rt   0       0      0      0 S   0.0  0.0   0:01.53 migration/1                       
   21 root      20   0       0      0      0 S   0.0  0.0   0:00.48 ksoftirqd/1

    常用的交互命令:【注意如果在命令行中使用了s 選項, 其中一些命令可能會被屏蔽】

h:顯示幫助畫面,給出一些簡短的命令總結說明
i:忽略閑置和僵死進程。這是一個開關式命令。
r:重新安排一個進程的優先級別
S:切換到累計模式
f或者F:從當前顯示中添加或者刪除項目
o或者O:改變顯示項目的順序
l:切換顯示平均負載和啟動時間信息
m:切換顯示內存信息
t:切換顯示進程和CPU狀態信息
c:切換顯示命令名稱和完整命令行
M:根據駐留內存大小進行排序#注意是大寫
P:根據CPU使用百分比大小進行排序#注意是大寫
T:根據時間/累計時間進行排序
W:將當前設置寫入~/.toprc文件中
q:退出
s:修改刷新時間間隔#默認為三秒
k:終止指定進程

    各字段的詳細意義

PID:進程id
USER:進程所有者
PR:進程優先級
NI:nice值。負值表示高優先級,正值表示低優先級
VIRT:進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES
RES:進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA
SHR:共享內存大小,單位kb
S:進程狀態。D=不可中斷的睡眠狀態 R=運行 S=睡眠 T=跟蹤/停止 Z=僵尸進程
%CPU:CPU占用百分比
%MEM:進程使用的物理內存百分比
TIME+:進程使用的CPU時間總計,單位1/100秒
COMMAND:進程名稱(命令名/命令行)

七、htop

    htop跟top類似,但是比top更強大,可支持鼠標操作,需要哪里點哪里

    界面如下

blob.png

    htop中常用的指令

F1:查看htop使用說明
F2:設置
F3:搜索進程
F4:過濾器,按關鍵字搜索
F5:顯示樹形結構
F6:選擇排序方式
F7:減少nice值,這樣就可以提高對應進程的優先級
F8:增加nice值,這樣可以降低對應進程的優先級
F9:殺掉選中的進程
F10:退出htop

/:搜索字符
h:顯示幫助
l:顯示進程打開的文件: 如果安裝了lsof,按此鍵可以顯示進程所打開的文件
u:顯示所有用戶,并可以選擇某一特定用戶的進程
s:將調用strace追蹤進程的系統調用
t:顯示樹形結構

H:顯示/隱藏用戶線程
I:倒轉排序順序
K:顯示/隱藏內核線程    
M:按內存占用排序
P:CPU排序    
T:按運行時間排序

上下鍵或PgUP, PgDn:移動選中進程
左右鍵或Home, End:移動列表    
Space(空格):標記/取消標記一個進程。命令可以作用于多個進程,例如 "kill",將應用于所有已標記的進程

    上面這些內容在F1中也可以查看

blob.png

    按t像pstree一樣顯示樹狀結構圖

blob.png

八、dstat

    dstat是類似于vmstat的工具,但是比vmstat更強大更好用默認每秒收集一次信息,按ctrl+c退出

    界面如下

blob.png

    各字段代表的意義

#cpu:CPU的使用率。這項報告更有趣的部分是顯示了用戶,系統和空閑部分,這更好地分析了CPU當前的使用狀況。如果你看到"wait"一欄中,CPU的狀態是一個高使用率值,那說明系統存在一些其它問題。當CPU的狀態處在"waits"時,那是因為它正在等待I/O設備(例如內存,磁盤或者網絡)的響應而且還沒有收到。
#dsk:磁盤的讀寫操作,這一欄顯示磁盤的讀、寫總數。
#net:網絡設備發送和接受的數據,這一欄顯示的網絡收、發數據總數。
#paging:系統的分頁活動。分頁指的是一種內存管理技術用于查找系統場景,一個較大的分頁表明系統正在使用大量的交換空間,或者說內存非常分散,大多數情況下你都希望看到page in(換入)和page out(換出)的值是0 0。
#system:這一項顯示的是中斷(int)和上下文切換(csw)。這項統計僅在有比較基線時才有意義。這一欄中較高的統計值通常表示大量的進程造成擁塞,需要對CPU進行關注。你的服務器一般情況下都會運行運行一些程序,所以這項總是顯示一些數值。

    dstat后面也可以接選項

-c: 顯示cpu相關信息;
-d: 顯示disk相關信息;
-g:顯示page相關統計數據;
-m: 顯示memory相關統計數據;
-n: 顯示network相關統計數據;
-p: 顯示process相關統計數據;
-r: 顯示io請求相關的統計數據;
-s: 顯示swapped相關的統計數據;
--tcp:顯示tcp相關信息
--udp:顯示udp相關信息
[root@localhost ~]# dstat -c
----total-cpu-usage----
usr sys idl wai hiq siq
  0   0 100   0   0   0
  0   0 100   0   0   0
[root@localhost ~]# dstat -d
-dsk/total-
 read  writ
2298B 1844B
   0     0 
   0     0
[root@localhost ~]# dstat -m
------memory-usage-----
 used  buff  cach  free
 187M  952k  260M  545M
 187M  952k  260M  545M
 187M  952k  260M  545M
[root@localhost ~]# dstat --tcp
----tcp-sockets----
lis act syn tim clo
  5   1   0   0   0
  5   1   0   0   0
  5   1   0   0   0
[root@localhost ~]# dstat --udp
--udp--
lis act
  0   0
  0   0
  0   0

最后

    可以看出Centos對資源進行觀察的工具是非常豐富的,只要能善用工具就能非常方面的找到系統中存在的問題進行優化。

原創文章,作者:N17_信風,如若轉載,請注明出處:http://www.www58058.com/14038

(1)
N17_信風N17_信風
上一篇 2016-04-05
下一篇 2016-04-05

相關推薦

  • 計算機與操作系統

    計算機系統=Hardware+Software Linux操作系統=GNU/kernel+程序 (user space) ————– apps   shell    (人機交互接口) lib call(半層)  (kernel space) —&#…

    Linux干貨 2017-02-14
  • bash 數組和變量

    數組可以把多個變量集合起來,不用再一個個的聲明變量,也可以調多個單個的變量使用,極大方便了我們的使用,而且Linux bash中的數組還支持同一個數組中同時有數字和字符串。下面讓我們來了解一下數組。 一,數組的簡介 變量:存儲單個元素的內存空間 數組:存儲多個元素的連續的內存空間,相當于多個變量的集合。 數組名和索引 索引:編號從0 開始,屬于數值索引 注意…

    Linux干貨 2016-08-24
  • 上海2016全球運維大會 美女辣妹吸引眼球!

    國內第一個運維行業大會 GOPS 2016全球運維大會(上海站)在2016年9月23-24日在上海雅悅新天地大酒店舉辦,面向IT及傳統行業、廣大運維技術人員,傳播先進技術思想和理念,分享業內最佳實踐。 參會兩日,雖然大會主角是運維技術交流學習,不過卻意料之外的邂逅了另一道靚麗的風景,瞬間燃了… 在會場,站立著一群高挑美女,我的…

    2016-12-05
  • 常用的MySQL數據庫備份

    常用的MySQL數據庫備份方式 前言 為什么需要備份數據? 數據的備份類型 MySQL備份數據的方式 備份需要考慮的問題 設計合適的備份策略 實戰演練 使用cp進行備份 使用mysqldump+復制BINARY LOG備份 使用lvm2快照備份數據 使用Xtrabackup備份 總結 前言 我們試著想一想, 在生產環境中什么最重要?如果我們服務器的硬件壞了可…

    2016-10-01
  • 馬哥教育網絡班21期+第3周課程練習

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 # who | cut -d' ' -f1 | uniiq 2、取出最后登錄到當前系統的用戶的相關信息。 # id $(who | …

    Linux干貨 2016-07-12
  • DevOpsDays大會,818坐標上海,我們來啦!??!

    DevOpsDays 818, 坐標上海, DevOpsDays上海大會, 我們來啦?。?! 我們來啦?。?! 我們來啦!??! 重要的事情說三遍。 標簽: 運維  移動開發  IT技術  DevOps  2008年的敏捷會議上,Andrew Clay Shafer 和 Patrick Debois 討論了關于“敏…

    Linux干貨 2017-08-10

評論列表(1條)

  • stanley
    stanley 2016-04-05 22:52

    已置頂,同時歡迎加入免檢產品。贊

欧美性久久久久