天天看點

Linux檢視CPU和記憶體使用情況

top指令

  top指令是Linux下常用的性能分析工具,能夠實時顯示系統中各個程序的資源占用狀況,類似于Windows的任務管理器。

  運作 top 指令後,CPU 使用狀态會以全屏的方式顯示,并且會處在對話的模式 -- 用基于 top 的指令,可以控制顯示方式等等。退出 top 的指令為 q (在 top 運作中敲 q 鍵一次)。

  

内容解釋:

第一行(top):

  15:24:36 系統目前時刻

  14 days 系統啟動後到現在的運作時間

  3 users 目前登入到系統的使用者,更确切的說是登入到使用者的終端數 -- 同一個使用者同一時間對系統多個終端的連接配接将被視為多個使用者連接配接到系統,這裡的使用者數也将表現為終端的數目

  load average 目前系統負載的平均值,後面的三個值分别為1分鐘前、5分鐘前、15分鐘前程序的平均數,一般的可以認為這個數值超過 CPU 數目時,CPU 将比較吃力的負載目前系統所包含的程序

第二行(Tasks):

  288 total 目前系統程序總數

  1 running 目前運作中的程序數

  287 sleeping 目前處于等待狀态中的程序數

  0 stoped 被停止的系統程序數

  0 zombie 僵屍程序數

第三行(Cpus):

  7.3% us 使用者空間占用CPU百分比

  2.0% sy 核心空間占用CPU百分比

  0.0% ni 使用者程序空間内改變過優先級的程序占用CPU百分比

  90.4% id 空閑CPU百分比

  0.3% wa 等待輸入輸出的CPU時間百分比

  0.0% hi

  0.0% si

  0.0% st

第四行(Mem):

  2042616 total 實體記憶體總量

  1770116 used 使用的實體記憶體總量

  272500 free 空閑記憶體總量

  163912 buffers 用作核心緩存的記憶體量

    

第五行(Swap):

表示類别同第四行(Mem),但此處反映着交換分區(Swap)的使用情況。通常,交換分區(Swap)被頻繁使用的情況,将被視作實體記憶體不足而造成的。

  2094076 total 交換區總量

  45052 used 使用的交換區總量

  2049024 free 空閑交換區總量

  346624 cached 緩沖的交換區總量

最下部分的程序清單欄:

以 PID 區分的程序清單将根據所設定的畫面更新時間定期的更新。通過 top 内部指令可以控制此處的顯示方式:

  PID:程序的ID

  USER:程序所有者

  PR:程序的優先級别,越小越優先被執行

  NInice:值

  VIRT:程序占用的虛拟記憶體

  RES:程序占用的實體記憶體

  SHR:程序使用的共享記憶體

  S:程序的狀态。S表示休眠,R表示正在運作,Z表示僵死狀态,N表示該程序優先值為負數

  %CPU:程序占用CPU的使用率

  %MEM:程序使用的實體記憶體和總記憶體的百分比

  TIME+:該程序啟動後占用的總的CPU時間,即占用CPU使用時間的累加值。

  COMMAND:程序啟動指令名稱

top 運作中可以通過 top 的内部指令對程序的顯示方式進行控制。内部指令如下表:

  s- 改變畫面更新頻率

  l - 關閉或開啟第一部分第一行 top 資訊的表示

  t - 關閉或開啟第一部分第二行 Tasks 和第三行 Cpus 資訊的表示

  m - 關閉或開啟第一部分第四行 Mem 和 第五行 Swap 資訊的表示

  N - 以 PID 的大小的順序排清單示程序清單(第三部分後述)

  P - 以 CPU 占用率大小的順序排列程序清單 (第三部分後述)

  M - 以記憶體占用率大小的順序排列程序清單 (第三部分後述)

  h - 顯示幫助

  n - 設定在程序清單所顯示程序的數量

  q - 退出 top

  s -改變畫面更新周期

ps指令

  ps指令用于報告目前系統的程序狀态。ps指令是最基本同時也是非常強大的程序檢視指令,使用該指令可以确定有哪些程序正在運作和運作的狀态、程序是否結束、程序有沒有僵死、哪些程序占用了過多的資源等等,總之大部分資訊都是可以通過執行該指令得到的。

  F 代表這個程式的旗标 (flag), 4 代表使用者為 super user;

  S 代表這個程式的狀态 (STAT);

  PID 程式的 ID ;

  C CPU 使用的資源百分比

  PRI 這個是 Priority (優先執行序) 的縮寫;

  NI 這個是 Nice 值。

  ADDR 這個是 kernel function,指出該程式在記憶體的那個部分。如果是個 running # 的程式,一般就是『 - 』

  SZ 使用掉的記憶體大小;

  WCHAN 目前這個程式是否正在運作當中,若為 - 表示正在運作;

  TTY 登入者的終端機位置;

  TIME 使用掉的 CPU 時間。

  CMD 所下達的指令

pmap指令

  pmap指令用于報告程序的記憶體映射關系

  $ pmap -d 16613

free指令

  free指令可以顯示目前系統未使用的和已使用的記憶體數目,還可以顯示被核心使用的記憶體緩沖區。

Linux檢視CPU和記憶體使用情況

下面是對這些數值的解釋:

  total:總計實體記憶體的大小。

  used:已使用多大。

  free:可用有多少。

  Shared:多個程序共享的記憶體總額。

  Buffers/cached:磁盤緩存的大小。

第三行(-/+ buffers/cached):