進程管理工具:ps,top,htop,dstat

進程列表查看,系統資源使用情況查看,比如CPU占用情況,內存使用情況,網絡IO,硬盤IO等等。本文介紹的幾款工具幫您實現。

進程是指運行中的程序的一個副本,進程的有關信息映射在/proc/#下,ps等工具通過加工/proc/下文件而顯示出進程列表。

linux內核屬于搶占式多任務式,內核將CPU處理時間按時間片分配給各個進程,這里有一個優先級的問題,優先級越高,最先被處理。

進程有140個隊列,0~139。

1-99屬于實時優先級,數字越大優先級越高;

100-139屬于靜態優先級,數字越小優先級越高,對應著nice值-19~20,可以調整nice值來改變進程優先級。

再來簡單介紹進程狀態:

1、運行態:running,正在運行的進程,或是等待運行在CPU隊列上。

2、睡眠態:分為兩種

     (1)可中斷:Interruptable,接受控制信號

      (2)不可中斷:Uninterruptable,不接受控制信號

3、停止態:stopped,暫停與內存中,除非手動調度。

4、僵死態:zombie,執行完畢的進程,等待釋放資源。

一、ps命令

ps – 報告當前進程的快照。

ps命令接受3種風格的選項指定:

    1、BSD風格,選項不帶“-”

    2、UNIX風格,選項帶“-”

    3、GNU風格,長選項“–”

1、BSD風格

選項

    a:所有與終端相關的進程

    x:所有與終端無關的進程

    u:以用戶為中心組織進程狀態信息

    o:指定顯示字段

        常用字段:pid,ni,psr,pcpu,pmem,priority,stat,comm

常用組合ps aux ,ps axo user,pid,comm

blob.png

對第一行字段中

VSZ:占用的虛擬內存集大小

RSS:Resident Size,常駐內存集大小

STAT:進程狀態

    R:runing

    S:interruptable sleeping

    D:uninterruptable sleeping

    T:stopped

    Z:zombie

        +:表示前臺進程

        s:session leader,擁有子進程

        l:多線程的進程

        N:低優先級進程

        <:高優先級進程

        L:在內存中有鎖定的頁

2、UNIX風格

選項

    -e:顯示所有進程

    -f:顯示完整格式

    -F:顯示更多字段

    -o:自定義字段顯示

    -H:顯示層級結構

常用組合:ps -ef,ps -efH,ps -eo pid,pcpu,comm

blob.png

C:cpu占用百分比

二、top命令

top – 顯示linux任務列表

動態方式提供運行系統視圖,顯示匯總信息及進程列表。

常用選項

    -d # 指定刷新間隔時間

    -b  以批次顯示,用于輸出

    -n # 顯示多少批次

    -M/G 指定內存單位,默認為KB

$ top -M

blob.png

load average:過去1分鐘,5分鐘,15分鐘的平均負載,等待CPU隊列長度。

Cpu一行:

    us:用戶空間

    sy:系統空間

    ni:nice進程

    id:空閑進程

    wa:等待io進程

    hi:硬中斷

    si:軟中斷

    st:steal,虛擬化占用的百分比

進程列表字段

    VIRT:Virtual Image (kb),虛擬內存集

    RES:Resident size (kb),常駐內存集

    SHR:Shared Mem size (kb),共享內存集

交互按鈕

1)排序

    P:按占用cpu百分比排序

    M:按占用內存排序

    T:按累積占用cpu時間排序

    R:反轉排序次序

    <,>:移動排序的字段

2)修改刷新時間:s

3)停止進程:k

4)退出:q

三、htop命令

htop類似與top工具,但是支持垂直和水平滾動,這樣可以看到所有進程的信息。

另外使用htop需要從epel源安裝。

用法:htop [-dChusv]

-d 刷新間隔,單位十分之一秒

-p pid… 查看指定pid列表

-u 查看指定用戶的進程列表

blob.png

快捷鍵F1~F10,幫助,設置,查詢,過濾,樹形結構,排序選擇,nice值更改,停止進程,退出。

幾項特別功能快捷鍵:

l:列出進程打開的文件列表

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

t:層級結構關系顯示

a:綁定指定CPU

四、dstat命令

dstat – 用來生成系統資源統計數據的多功能工具,十分強大。

dstat可以取代vmstat,iostat,ifstat工具。dstat克服了一些老工具的短板問題,而且新加很多功能。

另外需要從epel源安裝。

用法: dstat [-afv] [options..] [delay [count]]

選項:

    -c 顯示cpu統計

    -C #,# 顯示指定cpu統計。以下大寫選項均類似。

    -d 顯示磁盤統計

    -D sda

    -n 顯示網絡統計(接收,發送)

    -N eth0

    -m 顯示內存統計

    -s 顯示交互分區統計

    -r 顯示IO請求統計

    -g 顯示page相關速率統計(page in, page out)

    -p 顯示進程相關統計(runnable, uninterruptible, new)

    -y 顯示系統統計(interrupts, context switches)

默認選項為-cdngy

$ dstat

blob.png

$ dstat -v   #equals -pmgdsc -D total

blob.png

長選項:

    –fs  顯示文件系統統計(open files, inodes)

    –tcp  顯示tcp統計(listen, established, syn, time_wait, close)

    –udp  顯示udp統計

    –raw  顯示裸套接字統計

    –socket 顯示套接字統計(total, tcp, udp, raw, ip-fragments)

blob.png

插件:

dstat支持用戶開發插件加入到dstat中,下面介紹一些實用插件

    –freespace  文件系統使用量

    –top-bio  最耗費塊設備IO的進程

    –top-io  最耗費IO的進程

    –top-cpu  最耗費cpu的進程

    –top-cputime  占用cpu時間最多的進程

    –top-mem  最耗費內存的進程

    –top-latency  延遲最大的進程 

$ dstat --top-{io,bio,cpu,cputime,mem,latency}

blob.png

原創文章,作者:cutemsyu,如若轉載,請注明出處:http://www.www58058.com/47395

(0)
cutemsyucutemsyu
上一篇 2016-09-22 10:04
下一篇 2016-09-22 15:54

相關推薦

  • 鏈接分析算法之:SALSA算法

      SALSA算法的初衷希望能夠結合PageRank和HITS算法兩者的主要特點,既可以利用HITS算法與查詢相關的特點,也可以采納PageRank的“隨機游走模型”,這是SALSA算法提出的背景。由此可見,SALSA算法融合了PageRank和HITS算法的基本思想,從實際效果來說,很多實驗數據表明,SALSA的搜索效果也都優于前兩個算…

    大數據運維 2015-07-21
  • 正則表達式練習

    一: 1、找出ifconfig命令結果中本機的所有IPv4地址         2、查出分區空間使用率的最大百分比值 3、查出用戶UID最大值的用戶名、UID及shell類型 4、查出/tmp的權限,以數字方式顯示 二: 1、顯示/proc/meminfo文件中以大小s開頭的行;(要求:使用兩種方式) 2、顯示/etc…

    Linux干貨 2016-08-12
  • Java構造時成員初始化的陷阱

    讓我們先來看兩個類:Base和Derived類。注意其中的whenAmISet成員變量,和方法preProcess() public class Base {     Base() {         preP…

    Linux干貨 2015-04-03
  • CentOS 6的開機流程及root密碼破解

    一、CentOS 6的開機流程詳解 啟動流程詳解 1、POST:    Power-On-Self-Test,加電自檢,是BIOS功能的一個主要部分。負責完成對CPU、主板、內存、硬盤子系統、顯示子系統、串并行接口、鍵盤、CD-ROM光驅等硬件情況的檢測。 2、BootSequence(BIOS):    決定那個磁盤…

    Linux干貨 2016-09-13
  • linux基礎學習-網絡基礎

    一、OSI七層模型 二、TCP/IP模型         三次握手原理 三、常見服務的默認端口 四、IP地址、子網劃分基礎知識     通信原理:一般數據的交互產生是在應用層(TCP/IP模型),應用層以下可以看成是搬運工,不同層的協議定義了不同的搬運工的工作內容,直到最后,把數…

    Linux干貨 2016-09-05
  • 硬盤基礎知識及 MBR、GPT分區格式

    一,硬盤知識     硬盤接口類型:         ? 并行:             IDE: 133MB/s &n…

    Linux干貨 2016-09-19
欧美性久久久久