TOP

Linux查看CPU和內存使用情況(轉)(一)
2017-10-11 14:57:19 】 瀏覽:9775
Tags:

在系統維護的過程中,隨時可能有需要查看 CPU 使用率,并根據相應信息分析系統狀況的需要。在 CentOS 中,可以通過 top 命令來查看 CPU 使用狀況。運行 top 命令后,CPU 使用狀態會以全屏的方式顯示,并且會處在對話的模式 -- 用基于 top 的命令,可以控制顯示方式等等。退出 top 的命令為 q (在 top 運行中敲 q 鍵一次)。

top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源占用狀況优乐棋牌app下载,類似于Windows的任務管理器

  可以直接使用top命令后,查看%MEM的內容。可以選擇按進程查看或者按用戶查看,如想查看oracle用戶的進程內存使用情況的話可以使用如下的命令:
  $ top -u oracle

內容解釋:

  PID:進程的ID
  USER:進程所有者
  PR:進程的優先級別,越小越優先被執行
  NInice:值
  VIRT:進程占用的虛擬內存
  RES:進程占用的物理內存
  SHR:進程使用的共享內存
  S:進程的狀態。S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值為負數
  %CPU:進程占用CPU的使用率
  %MEM:進程使用的物理內存和總內存的百分比
  TIME+:該進程啟動后占用的總的CPU時間,即占用CPU使用時間的累加值。
  COMMAND:進程啟動命令名稱

  操作實例:

  在命令行中輸入 “top”

  即可啟動 top

  top 的全屏對話模式可分為3部分:系統信息欄、命令輸入欄、進程列表欄。

  第一部分 -- 最上部的 系統信息欄 :

  第一行(top):

    “00:11:04”為系統當前時刻;

    “3:35”為系統啟動后到現在的運作時間;

    “2 users”為當前登錄到系統的用戶,更確切的說是登錄到用戶的終端數 -- 同一個用戶同一時間對系統多個終端的連接將被視為多個用戶連接到系統,這里的用戶數也將表現為終端的數目;

    “load average”為當前系統負載的平均值,后面的三個值分別為1分鐘前、5分鐘前、15分鐘前進程的平均數优乐棋牌app下载,一般的可以認為這個數值超過 CPU 數目時,CPU 將比較吃力的負載當前系統所包含的進程;

  第二行(Tasks):

    “59 total”為當前系統進程總數;

    “1 running”為當前運行中的進程數;

    “58 sleeping”為當前處于等待狀態中的進程數;

    “0 stoped”為被停止的系統進程數;

    “0 zombie”為被復原的進程數;

  第三行(Cpus):

    分別表示了 CPU 當前的使用率;

  第四行(Mem):

    分別表示了內存總量、當前使用量、空閑內存量、以及緩沖使用中的內存量;

  第五行(Swap):

    表示類別同第四行(Mem),但此處反映著交換分區(Swap)的使用情況。通常,交換分區(Swap)被頻繁使用的情況,將被視作物理內存不足而造成的。

  第二部分 -- 中間部分的內部命令提示欄:

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

  s

  - 改變畫面更新頻率

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

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

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

  N - 以 PID 的大小的順序排列表示進程列表(第三部分后述)

  P - 以 CPU 占用率大小的順序排列進程列表 (第三部分后述)

  M - 以內存占用率大小的順序排列進程列表 (第三部分后述)

  h - 顯示幫助

  n - 設置在進程列表所顯示進程的數量

  q - 退出 top

  s -

  改變畫面更新周期

  第三部分 -- 最下部分的進程列表欄:

  以 PID 區分的進程列表將根據所設定的畫面更新時間定期的更新。通過 top 內部命令可以控制此處的顯示方式

pmap

可以根據進程查看進程相關信息占用的內存情況,(進程號可以通過ps查看)如下所示:
  $ pmap -d 5647

 

ps

  如下例所示:
  $ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid'  其中rsz是是實際內存
  $ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep oracle |  sort -nrk

  其中rsz為實際內存,上例實現按內存排序,由大到小

在Linux下查看內存我們一般用free命令:
[root@scs-2 tmp]# free
             total       used       free     shared    buffers     cached
Mem:       3266180    3250004      16176          0     110652    2668236
-/+ buffers/cache:     471116    2795064
Swap:      2048276      80160    1968116

下面是對這些數值的解釋:
total:總計物理內存的大小。
used:已使用多大。
free:可用有多少。
Shared:多個進程共享的內存總額。
Buffers/cached:磁盤緩存的大小。
第三行(-/+ buffers/cached):
used:已使用多大。
free:可用有多少。
第四行就不多解釋了。
區別:第二行(mem)的used/free與第三行(-/+ buffers/cache) used/free的區別。 這兩個的區別在于使用的角度來看,第一行是從OS的角度來看,因為對于OS,buffers/cached 都是屬于被使用,所以他的可用內存是16176KB,已用內存是3250004KB,其中包括优乐棋牌app下载,內核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.
第三行所指的是從應用程序角度來看,對于應用程序來說,buffers/cached 是等于可用的,因為buffer/cached是為了提高文件讀取的性能,當應用程序需在用到內存的時候,buffer/cached會很快地被回收。
所以從應用程序的角度來說,可用內存=系統free memory+buffers+cached。
如上例:
2795064=16176+110652+2668236

接下來解釋什么時候內存會被交換,以及按什么方交換。 當可用內存少于額定值的時候,就會開會進行交換。
如何

請關注公眾號獲取更多資料



首頁 上一頁 1 2 3 4 下一頁 尾頁 1/4/4
】【打印繁體】【】【】 【】【】【】 【關閉】 【返回頂部
上一篇MAC+VMware+CentOS 6.5 上網配置 下一篇macOS 我的裝機