萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> 按內存占用排序和按CPU占用排序的Linux TOP命令

按內存占用排序和按CPU占用排序的Linux TOP命令

   Linux TOP命令默認是CPU占用排序,按M可以切換到按內存占用排序。這是系統維護和電腦內存維護。可以切換的。不同的用法,達到不同的效果。以下是關於這兩個的詳細說明。

  P – 以 CPU 占用率大小的順序排列進程列表

  M – 以內存占用率大小的順序排列進程列表

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

  在命令行中輸入 “top” 即可啟動 top ,top 的全屏對話模式可分為3部分:系統信息欄、命令輸入欄、進程列表欄。

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

  第一行(top):

  “14:55:59”為系統當前時刻;

  “4 days, 5:52”為系統啟動後到現在的運作時間;

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

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

  第二行(Tasks):

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

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

  “11 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 內部命令可以控制此處的顯示方式。

  一般的,我們通過遠程監控的方式對服務器進行維護,讓服務器本地的終端實時的運行 top ,是在服務器本地監視服務器狀態的快捷便利之一。

  ubuntu進程管理方法

  ps 顯示當前進程

  ps -l 顯示詳細信息

  ps -u 以用戶的格式顯示

  相關字段說明

  F 進程狀態標志

  S 進程狀態代碼

  UID 進程執行者ID

  PPID 父進程標識(parent process ID)

  PRI 進程執行的優先級(priority)

  NI 進程執行優先級的nice值,負值表示其優先級較高

  SZ 進程占用的內存大小

  WCHAN 進程或系統調用等待時的地址

  %CPU cpu使用百分比

  %MEM 內存使用百分比

  VSZ 占用虛擬內存大小

  RSS 占用物理內存大小

  START 進程開始時間

  kill 刪除進程

  kill pid 刪除指定pid的進程

  kill -l 查看所有可供傳送的信號

  kill -9 pid 強制刪除進程,傳送的是SIGKILL信號

  kill -15 pid 強制刪除進程,傳送的是SIGTERM信號

  kill -HUP pid 重啟Deamon進程

  free 查看內存使用狀態

  free -s 10 每10秒檢查內存使用情況

  nice 設置執行優先級,-20~19,19最低

  sudo nice –2 vi 將vi的優先級調為-2

  renice 修改執行優先級,-20~19,19最低

  top 動態顯示進程

  按”P”鍵 按CPU使用時間排序

  按”M”鍵 按內存使用多少排序

  按”T”鍵 按執行時間多少排序

  按”u”鍵 監視特定用戶

  按”K”鍵 刪除進程

  top -d 10 指定更新時間

  lsof -p 查看進程打開的文件

  jobs 命令查看後台作業

  ubuntu結束進程方法

  1、打開終端

  2、敲 ps -ef 查出進程的編號(就是PID那列)

  3、敲 kill PID (如果PID是123456,則kill 123456)

  4、OK了

  在本地Ubuntu Linux系統運行大軟件的時候,或者服務器長時間運行後,由於有些設計有缺陷的軟件,容易出現假死的情況!

  那程序假死了以後,我們該怎麼辦呢?其實這個 問題其實說簡單也簡單,直接結束進程不就OK了嘛!就像我們在Windows下面做的一樣!下面來介紹幾種Ubuntu Linux下面結束進程的幾種方法!

  最安全殺死進程的方法

  殺死進程最安全的方法是單純使用kill命令,不加修飾符,不帶標志。

  首先使用ps -ef命令確定要殺死進程的PID,然後輸入以下命令:

  #kill -pid

  注釋:標准的kill命令通常都能達到目的。終止有問題的進程,並把進程的資源釋放給系統。然而,如果進程啟動了子進程,只殺死父進程,子進程仍在運行,因此仍消耗資源。為了防止這些所謂的“僵屍進程”,應確保在殺死父進程之前,先殺死其所有的子進程。

  還可以使用如下命令來確定要殺死進程的PID或PPID

  # ps -ef | grep httpd

  以最優雅的方式來結束進程

  # kill -l PID

  -l選項告訴kill命令用好像啟動進程的用戶已注銷的方式結束進程。當使用該選項時,kill命令也試圖殺死所留下的子進程。但這個命令也不是總能成功--或許仍然需要先手工殺死子進程,然後再殺死父進程。

  TERM信號

  給父進程發送一個TERM信號,試圖殺死它和它的子進程。

  # kill -TERM PPID

  killall命令

  killall命令殺死同一進程組內的所有進程。其允許指定要終止的進程的名稱,而非PID。

  # killall httpd

  停止和重啟進程

  有時候只想簡單的停止和重啟進程。如下:

  # kill -HUP PID

  該命令讓Linux和緩的執行進程關閉,然後立即重啟。在配置應用程序的時候,這個命令很方便,在對配置文件修改後需要重啟進程時就可以執行此命令。

  絕殺 kill -9 PID

  同意的 kill -s SIGKILL

  這個強大和危險的命令迫使進程在運行時突然終止,進程在結束後不能自我清理。危害是導致系統資源無法正常釋放,一般不推薦使用,除非其他辦法都無效。

  當使用此命令時,一定要通過ps -ef確認沒有剩下任何僵屍進程。只能通過終止父進程來消除僵屍進程。如果僵屍進程被init收養,問題就比較嚴重了。殺死init進程意味著關閉系統。

  如果系統中有僵屍進程,並且其父進程是init,而且僵屍進程占用了大量的系統資源,那麼就需要在某個時候重啟機器以清除進程表了

copyright © 萬盛學電腦網 all rights reserved