學習筆記之進程管理的相關重要命令



進程管理命令之ps,top,htop,dstatlinux


 ps:report a snapshot of the current processes.bash

          顯示當前進程的狀態session

       語法:ps [options]多線程

           選項有三種風格:app

      一、UNIX options, which may be grouped and must bessh

          preceded by a dash.tcp

      二、BSD options, which may be grouped and must notide

          be used with a dash.工具

      三、GNU long options, which are preceded by twospa

          dashes.

        ps選項option:

      a:全部與終端相關的進程

      x;全部與終端無關的進程

      u:以用戶爲中心組織進程狀態信息顯示;

注:以上幾個選項沒有「-」,加上「-」結果也不同

經常使用組合之一:aux

  ps aux中的字段意義:

     USER:用戶

     PID;進程號

     %CPU:累計cpu佔用率

     %MEM:佔內存總量的百分數

     VSZ:虛擬內存集

     RRS:resident size常駐內存集(堅定不能放在交換分區上的)

     STAT:進程狀態

         R:running運行態

         S:interruptable sleeping可中斷睡眠

         D:不可中斷睡眠

         T:Stoped中止態

         Z:僵死態

         +:前臺進程(運行在終端之上)

         l:多線程進程

         N:低優先級進程

         <:高優先級進程

         s:session leader會話主導者

[root@bucktan ~]# ps aux

USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

root          1  0.0  0.1  19364  1536 ?        Ss   16:28   0:01 /sb

root          2  0.0  0.0      0     0 ?        S    16:28   0:00  

root          3  0.0  0.0      0     0 ?        S    16:28   0:00  

root          4  0.0  0.0      0     0 ?        S    16:28   0:00  

root          5  0.0  0.0      0     0 ?        S    16:28   0:00  

root          6  0.0  0.0      0     0 ?        S    16:28   0:00  

root          7  0.0  0.0      0     0 ?        S    16:28   0:00  

###後面的省略   


     -e:顯示全部進程

     -f:顯示完整格式的進程信息

     -F:顯示完整格式的進程信息

[root@bucktan ~]# ps -f

UID         PID   PPID  C STIME TTY          TIME CMD

root       2399   2395  0 16:55 pts/0    00:00:00 -bash

root       2489   2399  1 17:17 pts/0    00:00:00 ps -f

[root@bucktan ~]# ps -F

UID         PID   PPID  C    SZ   RSS PSR STIME TTY          TIME CMD

root       2399   2395  0 27118  1872   1 16:55 pts/0    00:00:00 -ba

root       2490   2399  2 27560  1136   1 17:17 pts/0    00:00:00 ps

[root@bucktan ~]# ps -e

   PID TTY          TIME CMD

     1 ?        00:00:01 init

     2 ?        00:00:00 kthreadd

     3 ?        00:00:00 migration/0

     4 ?        00:00:00 ksoftirqd/0

     5 ?        00:00:00 stopper/0

     6 ?        00:00:00 watchdog/0

     7 ?        00:00:00 migration/1

     8 ?        00:00:00 stopper/1

     9 ?        00:00:00 ksoftirqd/1

    10 ?        00:00:00 watchdog/1

###後面的省略

經常使用組合之二:-ef    -eF

         C:cpu佔用百分比

         PSR:進程運行在哪一個cpu上

     -H:以層級結構顯示進程的相關信息

[root@bucktan ~]# ps -ef

UID         PID   PPID  C STIME TTY          TIME CMD

root          1      0  0 16:28 ?        00:00:01 /sbin/init

root          2      0  0 16:28 ?        00:00:00 [kthreadd]

root          3      2  0 16:28 ?        00:00:00 [migration/0]

root          4      2  0 16:28 ?        00:00:00 [ksoftirqd/0]

###後面的省略

[root@bucktan ~]# ps -eF

UID         PID   PPID  C    SZ   RSS PSR STIME TTY          TIME CMD

root          1      0  0  4841  1536   1 16:28 ?        00:00:01 /sb

root          2      0  0     0     0   1 16:28 ?        00:00:00 0

root          3      2  0     0     0   0 16:28 ?        00:00:00 0

###後面的省略



經常使用組合之三: -eFH

[root@bucktan ~]# ps -eFH

UID         PID   PPID  C    SZ   RSS PSR STIME TTY          TIME CMD

root          2      0  0     0     0   1 16:28 ?        00:00:00 [kthreadd]

root          3      2  0     0     0   0 16:28 ?        00:00:00   [migration/0]

   ####中間省略了一些

root       2083      1  0  6197  1848   0 16:29 ?        00:00:00   /usr/sbin/bluetoothd --udev

root       2127      1  0 16556  1180   1 16:29 ?        00:00:00   /usr/sbin/sshd

root       2395   2127  0 24992  4040   0 16:55 ?        00:00:00     sshd: root@pts/0 

####後面的省略


經常使用組合之四:

       o field1,field2,。。:自定義要顯示的字段列表,以逗號分隔;

 經常使用的field:pid,ni(nice值),pri(優先級),psr,pcpu,stat,comm,tty,ppid,rtprio(實時優先級)

 

[root@bucktan ~]# ps o pid,ni,stat

   PID  NI STAT

  2295   0 Ss+

  2297   0 Ss+

  2299   0 Ss+

  2301   0 Ss+

  2303   0 Ss+

ps命令就以上部分

=========================================================================================

下面看看top命令  

top - display Linux processes顯示linux進程

排序;

  P:以佔據cpu百分比排序

  M;以佔據內存百分比排序

          T:累計佔用cpu時間排序

        首部信息:

    uptime:l命令

    tasks及cpu信息:t命令

    內存信息:m命令

退出命令:q

    修改刷新時間間隔:s

    終止指定的進程:k

   注:以上的都是進入top命令以後才能使用的命令,即子命令

[root@bucktan ~]# top 

top - 17:37:14 up  1:08,  1 user,  load average: 0.00, 0.00, 0.00

Tasks: 118 total,   1 running, 117 sleeping,   0 stopped,   0 zombie

Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%s

Mem:   1004768k total,   235096k used,   769672k free,    41308k buf

Swap:  2031612k total,        0k used,  2031612k free,    66600k cac


   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAN

    11 root      20   0     0    0    0 S  0.3  0.0   0:04.47 events/

  2566 root      20   0 15032 1212  924 R  0.3  0.1   0:00.07 top    

     1 root      20   0 19364 1536 1228 S  0.0  0.2   0:01.90 init   

     2 root      20   0     0    0    0 S  0.0  0.0   0:00.05 kthread

###後面的省略

      top選項:-d #:指定刷新時間間隔,默認爲3秒;

         -b:以批次方式顯示

         -n #:顯示多少批次;


=========================================================================================

htop命令:interactive process viewer

    選項:

      -d #:指定延遲時間間隔

      -u Username:僅顯示指定用戶的進程

      -s COLUME:以指定字段進行排序

    子命令:

         l:顯示選定的進程打開的文件列表

         s:跟蹤選定的進程的系統調用

         t:以層級關係顯示各進程狀態

         a:將選定的進程綁定至某指定的CPU核心


========================================================================================

dstat命令:versatile tool for generating system resource statistics很是精巧的生成系統資源使用統計數據的工具

      dstat [-afv] [options..] [delay [count]]

       經常使用選項:

           -c,--cpu:顯示cpu相關信息;

               -C #,#,#...,tobal

           -d,--disk:顯示磁盤的相關信息

               -D sda,sdb,...,tobal

           -g:顯示page相關的速率數據;

           -m:Memory的相關統計數據

           -n:interface的相關統計數據

           -p:顯示process的相關統計數據

           -r:顯示io請求的相關統計數據

           -s:顯示swapped的相關統計數據


           --tcp

           。。。

           --top-cpu:顯示最佔用cpu的進程

           --top-io:顯示最佔用io的進程

           --top-mem:顯示最佔用內存的進程

           --top-lantency:延遲最大的進程

實踐操做:

wKioL1cMV8TBxAVUAAApqoUbO8o478.png

wKiom1cMVxHiKy6MAAAfgmVqkA8584.png

wKioL1cMV8fCk-BqAAAgFD07naQ792.png

相關文章
相關標籤/搜索