進程管理工具

進程管理工具

進程管理工具

htop

語法

htop [-dChusv]

選項

-C --no-color        使用一個單色的配色方案    
-d --delay=DELAY     設置延遲更新時間,單位秒   
-h --help           顯示htop 命令幫助信息   
-u --user=USERNAME    只顯示一個給定的用戶的過程 
-p --pid=PID,PID…       只顯示給定的PIDs  
-s --sort-key COLUMN     依此列來排序 
-v –version          顯示版本信息

實例

  CPU[*                                                0.7%]   Tasks: 24, 17 thr; 1 running
  Mem[||||||||||#****************                 172M/976M]   Load average: 0.00 0.01 0.05 
  Swp[                                             0K/2.00G]   Uptime: 03:16:26

   PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command                                                       
  2843 root       20   0  119M  2304  1476 R  0.7  0.2  0:00.10 htop             
   638 root       20   0  295M  6024  4644 S  0.7  0.6  0:18.16 /usr/bin/vmtoolsd
.............
  1502 root       20   0  540M 18464  5788 S  0.0  1.8  0:00.00 /usr/bin/python -Es /usr/sbin/tuned -l -P
  1505 root       20   0  540M 18464  5788 S  0.0  1.8  0:00.00 /usr/bin/python -Es /usr/sbin/tuned -l -P
F1Help  F2Setup F3Search F4Filter F5Tree  F6SortBy F7Nice -F8Nice +F9Kill  F10Quit                                       

參數說明

CPU usage bar: [low-priority/normal/kernel/virtualiz               used%]   //CPU負載
Memory bar:    [used/buffers/cache                            used/total]   //內存消耗
Swap bar:      [used                                          used/total]   //交換空間
Task:進程總數、當前運行的進程數
Load average:系統為1分鐘、5分鐘、10分鐘的平均負載情況
uptime:系統運行時間

PID:        進程的標識號
USER:       運行進程的用戶
PRI:        進程的優先級
NI:         進程的優先級別值,默認為0,可以進行調整
VIRT:       進程占用的虛擬內存值
RES:        進程占用的物理內存值
SHR:        進程占用的共享內存值
S:          進程的運行狀態,R表示正在運行;S表示休眠,等待喚醒,Z表示僵死狀態
CPU%:       進程占用的CPU使用率
MEM%:       進程占用的物理內存和總內存的百分比
TIME+:      進程啟動后占用總的CPU時間
Command:    進程啟動的啟動命令名稱
快捷鍵 功能鍵 說明
? F1 查看htop使用說明
S F2 htop 設定
/ F3 搜索,搜索進程名,直接顏色顯示
\ F4 進程過濾器:相當于模糊查找,不區分大小寫,下方輸入要搜索的內容后,則界面只顯示搜索到的內容,更加方便查看
t F5 顯示幫助信息
<,> F6 選擇排序方式
[ F7 可減少nice值可以提高對應進程的優先級
] F8 可增加nice值,降低對應進程的優先級
k F9 可對進程傳遞信號
q F10 結束htop

vmstat 顯示虛擬內存狀態(“Viryual Memor Statics”),但是它可以報告關于進程、內存、I/O等系統整體運行狀態。

語法

vmstat(選項)(參數)

選項

-a:顯示活動內頁;
-f:顯示啟動后創建的進程總數;
-m:顯示slab信息;
-n:頭信息僅顯示一次;
-s:以表格方式顯示事件計數器和內存狀態;
-d:報告磁盤狀態;
-p:顯示指定的硬盤分區狀態;
-S:輸出信息的單位。 

實例

[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
 2  0      0 706820   1444 161912    0    0    13     1   29   47  0  0 100  0  0
  • 參數說明
    Procs(進程)
        r 表示運行隊列(就是說多少個進程真的分配到CPU),服務器目前CPU比較空閑,沒什么程序在跑,當這個值超過了CPU數目,就會出現CPU瓶頸了
        b 表示阻塞的進程,這個不多說,進程阻塞
    Memory(內存)
        swpd 虛擬內存已使用的大小,如果大于0,表示你的機器物理內存不足了,如果不是程序內存泄露的原因,那么你該升級內存了或者把耗內存的任務遷移到其他機器。
        free 空閑的物理內存的大小
        buff Linux/Unix系統是用來存儲,目錄里面有什么內容,權限等的緩存
        cache cache直接用來記憶我們打開的文件,給文件做緩沖。(Linux把空閑的物理內存的一部分拿來做文件和目錄的緩存,是為了提高 程序執行的性能,當程序使用內存時,buffer/cached會很快地被使用。)
    Swap
        si 每秒從磁盤讀入虛擬內存的大小,如果這個值大于0,表示物理內存不夠用或者內存泄露了,要查找耗內存進程解決掉。我的機器內存充裕,一切正常。
        so 每秒虛擬內存寫入磁盤的大小,如果這個值大于0,同上。
    IO
        bi 塊設備每秒接收的塊數量,這里的塊設備是指系統上所有的磁盤和其他塊設備,默認塊大小是1024byte,如果沒什么IO操作,一直是0,如果處理拷貝大量數據(2-3T)的機器上看過可以達到140000/s,磁盤寫入速度差不多140M每秒
        bo 塊設備每秒發送的塊數量,例如我們讀取文件,bo就要大于0。bi和bo一般都要接近0,不然就是IO過于頻繁,需要調整。
    system
        in 每秒CPU的中斷次數,包括時間中斷
        cs 每秒上下文切換次數,例如我們調用系統函數,就要進行上下文切換,線程的切換,也要進程上下文切換,這個值要越小越好,太大了,要考慮調低線程或者進程的數目,例如在apache和nginx這種web服務器中,我們一般做性能測試時會進行幾千并發甚至幾萬并發的測試,選擇web服務器的進程可以由進程或者線程的峰值一直下調,壓測,直到cs到一個比較小的值,這個進程和線程數就是比較合適的值了。系統調用也是,每次調用系統函數,我們的代碼就會進入內核空間,導致上下文切換,這個是很耗資源,也要盡量避免頻繁調用系統函數。上下文切換次數過多表示你的CPU大部分浪費在上下文切換,導致CPU干正經事的時間少了,CPU沒有充分利用,是不可取的。
        us 用戶CPU時間,比如加密解密很頻繁的服務器上,可以看到us接近100,r運行隊列達到80(機器在做壓力測試,性能表現不佳)。
    cpu
        sy 系統CPU時間,如果太高,表示系統調用時間長,例如是IO操作頻繁。
        id 空閑 CPU時間,一般來說,id + us + sy = 100,一般我認為id是空閑CPU使用率,us是用戶CPU使用率,sy是系統CPU使用率。
        wa 等待IO時間,Wa過高時,說明io等待比較嚴重,這可能是由于磁盤大量隨機訪問造成的,也有可能是磁盤的帶寬出現瓶頸。
        st 從虛擬設備中獲得的時間
    
  • 每兩秒顯示一次統計信息,一個顯示5次 vmstat 2 5
    [root@localhost ~]# vmstat 2 5
    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 705656   1444 162656    0    0     9     1   27   44  0  0 100  0  0
     0  0      0 705640   1444 162656    0    0     0     0   26   39  0  0 100  0  0
     0  0      0 705640   1444 162656    0    0     0     0   31   39  0  1 100  0  0
     0  0      0 705640   1444 162656    0    0     0     0   32   43  1  0 100  0  0
     0  0      0 705640   1444 162656    0    0     0     0   28   33  0  0 100  0  0
    
  • 顯示磁盤信息 vmstat -d
    [root@localhost ~]# vmstat -d
    disk- ------------reads------------ ------------writes----------- -----IO------
           total merged sectors      ms  total merged sectors      ms    cur    sec
    sda     5458      1  238084   28256    482    117   26845   85154      0     20
    sdb      362      0    4182     498     10      0      24       4      0      0
    sr0       11      0      88      67      0      0       0       0      0      0
    dm-0    2966      0  186887   25238    585      0   18613  120307      0     19
    dm-1     126      0    1872      38      0      0       0       0      0      0
    md0       66      0     962       0      1      0       8       0      0      0
    dm-2     128      0    1137      24      4      0    4096       8      0      0
    
  • 顯示活躍內存與非活躍內存 vmstat -a
    [root@localhost ~]# vmstat -a
    procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
     r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
     2  0      0 705656  68704 117560    0    0     9     1   27   43  0  0 100  0  0
    
  • 顯示啟動后創建的進程總數 vmstat -f
    [root@localhost ~]# vmstat -f 
             2439 forks

 

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/96618

(1)
eighteenxueighteenxu
上一篇 2018-04-20
下一篇 2018-04-20

相關推薦

欧美性久久久久