進程管理工具htop/glances/dstat的使用

htop:

  1. 安裝htop

htop是Linux系統下一個基本文本模式的、交互式的進程查看器,主要用於控制檯或shell中,可以替代top

1) 快速查看關鍵性能統計數據,如CPU(多核佈局)、內存/交換使用;

2) 可以橫向或縱向滾動瀏覽進程列表,以查看所有的進程和完整的命令行;

3) 殺掉進程時可以直接選擇而不需要輸入進程號;

4) 通過鼠標操作條目;

5) 比top啓動得更快;

 

htop由epel提供的,在安裝前應該事先配置好epel的yum源

[root@localhost~]# yum info htop

已加載插件:fastestmirror,refresh-packagekit, security

Loadingmirror speeds from cached hostfile

可安裝的軟件包

Name        : htop

Arch        : x86_64

Version     : 1.0.1

Release     : 2.el6

Size        : 75 k

Repo        : epel

Summary     : Interactive process viewer

URL         : http://htop.sourceforge.net/

License     : GPL+

Description: htop is an interactive text-mode process viewer for Linux, similar to

            : top(1).

安裝htop

[root@localhost~]# yum install  htop -y

簡單使用htop

[root@localhost ~]# htop

wKiom1U3oVfhX4GgAAbab-coFG0857.jpg

  1. F1 : 查看htop使用說明

  2. F2 : 設置

  3. F3 : 搜索進程

  4. F4 : 過濾器,按關鍵字搜索

  5. F5 : 顯示樹形結構

  6. F6 : 選擇排序方式

  7. F7 : 減少nice值,這樣就可以提高對應進程的優先級

  8. F8 : 增加nice值,這樣可以降低對應進程的優先級

  9. F9 : 殺掉選中的進程

  10. F10: 退出htop

交互式命令:

    u:過濾僅顯示選定用戶的進程;

    s:跟蹤選定的進程所發起的系統調用;

    l:顯示選定進程所打開的文件;

    t:顯示進程的層次結構;F5

    a:設定進程的cpu親緣性;(將選定的進程綁定在指定的CPU上)

   

命令選項:

    -d#: 延遲時長

    -uUSERNAME: 僅顯示指定用戶的進程;

    -sCOLUMN: 根據指定的字段進行排序;

按F6進入按排序

wKiom1U3oXShqdKcAAkcSR7P0a4044.jpg

按F1或h 進入幫助界面

wKioL1U3oumTmGz7AAViEl7ZB98214.jpg


/ : 搜索字符

 h : 顯示幫助

 l :顯示進程打開的文件: 如果安裝了lsof,按此鍵可以顯示進程所打開的文件

 u :顯示所有用戶,並可以選擇某一特定用戶的進程

 s : 將調用strace追蹤進程的系統調用

 t : 顯示樹形結構

 

 H :顯示/隱藏用戶線程

 I :倒轉排序順序

 K :顯示/隱藏內核線程   

 M :按內存佔用排序

 P :按CPU排序   

 T :按運行時間排序

按u可查看某指定用戶的運行的進程;默認爲所有用戶

wKiom1U3oaPiN0jzAAkD5auqoXM226.jpg

查看bash進程發起的系統調用

wKiom1U3ocSTVYfoAAlhAekfBH8326.jpg


使用上下鍵或鼠標選中-bash;然後按s鍵

wKiom1U3oebh9GDwAAFRP-vEO0c302.jpg


按q鍵推出htop

查看vim打開的文件

按/ 或這F3 進入搜索輸入im

wKioL1U3o2HxRuSJAAk_IRU2K-M623.jpg


選中vim行按l鍵













wKioL1U3o77g6PVvAAeHeubkdVs898.jpg

glances:

由epel提供

安裝glances

[root@localhost~]# yum install glances -y

glances [-bdehmnrsvyz1] [-B bind] [-cserver] [-C conffile] [-p port] [-P password] [--password] [-t refresh] [-ffile] [-o output]

 

 常用選項:

    -b:以Byte/s爲單位顯示網卡設備數據交換速率;

    -d:關閉磁盤I/O功能模塊;

    -f/PATH/TO/SOMEFILE:設置輸出文件的位置及格式;

    -o{HTML|CSV}:

    -m:關閉mount功能模塊

    -n:關閉網絡功能模塊

    -r:關閉進程列表功能模塊

    -t#: 指定延遲時長,默認爲3秒;

    -1:單獨顯示每顆CPU相關負載數據信息;

簡單使用glances

 wKioL1U3pKOwuRzmAAbcKnKVzqA606.jpg

[root@localhost~]# glances  -t 1                               

使用h獲取幫助信息

wKiom1U3o1vDctEpAARz8NmXc38808.jpg

glances支持遠程模式:

即可以以C/S模式工作:

Server:以監聽模式啓動glances;

        Client: 以遠程模式啓動glances,遠程連入指定服務器,並Server上的相關性能數據;

     服務模式:

glances-s -B IPADDR

-B:用於指明監聽的本地地址;

         

客戶端模式:

glances-c IPADDR

                 -c: 用於連入的服務器的地址;

    示例

在172.16.6.61上用glances服務器默認

#glances -s -B 172.16.6.61

wKioL1U3pMjhVyJFAACM4B60Z8w817.jpg


使用客戶端連入172.16.6.61

[root@localhost~]# glances -c 172.16.6.61


dstat

dstat:整合了vmstat, iostat, netstat and ifstat四款工具的功能, 且添加了許多額外的功能(Dstat is a versatilereplacement for vmstat, iostat and ifstat. Dstat overcomes some of thelimitations and adds some extra features.);其結果可以保持到csv文件,使用腳本或第三方工具對性能進行分析利用(如通過監控平臺監控,也可以保持到數據庫)。在Centos 6.x系統上安裝基本服務器即默認安裝;

使用方法

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

使用 dstat -h查看全部選項,這裏不逐一列舉,下面簡單介紹下常用選項

常用選項

# 直接跟數字,表示#秒收集一次數據,默認爲一秒;dstat 3表示3秒更新一次

-c:顯示cpu性能指標相關的統計數據;包括user, system, idle(空閒等待時間百分比), wait(等待磁盤IO), hardware interrupt(硬件中斷), software interrupt(軟件中斷)等;

-d:顯示disk相關的速率數據;

-Dtotal,sda 統計指定磁盤或彙總信息 ;例如: dstat-D total,sda

-g:顯示page相關的速率數據;()交換空間

-i:顯示interrupt相關的速率數據;

-l:顯示load average相關的統計數據;包括1分鐘、5分鐘、15分鐘平均值

-m:顯示memory相關的統計數據;包括used,buffers, cache, free

-n:顯示網絡收發數據的速率;

-p:顯示進程相關的統計數據,包括runnable、uninterruptible、new

-r:統計I/O請求,包括讀寫請求

-s:顯示swap的相關數據;統計swap已使用和剩餘量

-y:顯示系統相關的數據,包括中斷和進程切換;

-t 顯示統計時時間

示例:

常用組合

# dstat -cmsdnl -D sda1 -N eth0,total 1 10

wKiom1U3o_DiW7GbAAUnWzI_9oI840.jpg

dstat的高級用法

--top-[bio|cpu|cputime|cputime-avg|io|latency|latency-avg|mem|oom} 

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

    --top-bio:顯示最消耗block io的進程;塊級別

    --top-io:最佔用io的進程;佔據IO進程

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

示例: 統計最佔用cpu 最佔用內存最佔用磁盤IO的進程

# dstat --top-mem  --top-cpu --top-io

wKioL1U3pVyxHxYpAALvKeAG5bI830.jpg


    --ipc:顯示進程間通信相關的速率數據;

    --raw:顯示raw(裸)套接的相關的數據;

    --tcp:顯示tcp套接字的相關數據;

    --udp:顯示udp套接字的相關數據;

    --unix:顯示unix sock接口相關的統計數據;

    --socket:

-a: -cdngy

獲取其他應用信息:

dstat還可以獲取其他應用信息,如通過下列選項,可以獲取到其他一些常用應用信息:

--postfix顯示postfix隊列大小

--sendmail顯示sendmail隊列大小

--ntp顯示ntp服務器時間

--nfs3獲取nfs客戶端信息

--nfsd3獲取nfs服務器信息,不過nfs服務器版本需爲第三版纔可以,該選項還有更多用法,可以參考man幫助獲取

--mysql5-(cmds|conn|io|keys ) 獲取mysql5相關信息

示例: 獲取ntp server上的時間

# dstat --ntp

wKiom1U3pBaxMCMjAADYIuAUJuQ308.jpg


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