linux如何讓進程按照內(nèi)存大小排序
linux 如何讓進程按照內(nèi)存大小排序?Linux TOP命令按內(nèi)存占用排序和按CPU占用排序方法,下面由學(xué)習(xí)啦小編為大家整理些相關(guān)知識,希望對大家有幫助!
P – 以 CPU 占用率大小的順序排列進程列表
M – 以內(nèi)存占用率大小的順序排列進程列表
在系統(tǒng)維護的過程中,隨時可能有需要查看 CPU 使用率,并根據(jù)相應(yīng)信息分析系統(tǒng)狀況的需要。在 CentOS 中,可以通過 top 命令來查看 CPU 使用狀況。運行 top 命令后,CPU 使用狀態(tài)會以全屏的方式顯示,并且會處在對話的模式 — 用基于 top 的命令,可以控制顯示方式等等。退出 top 的命令為 q (在 top 運行中敲 q 鍵一次)。
在命令行中輸入 “top” 即可啟動 top ,top 的全屏對話模式可分為3部分:系統(tǒng)信息欄、命令輸入欄、進程列表欄。
第一部分 — 最上部的 系統(tǒng)信息欄 :
第一行(top):
“14:55:59”為系統(tǒng)當(dāng)前時刻;
“4 days, 5:52”為系統(tǒng)啟動后到現(xiàn)在的運作時間;
“1 user”為當(dāng)前登錄到系統(tǒng)的用戶,更確切的說是登錄到用戶的終端數(shù) — 同一個用戶同一時間對系統(tǒng)多個終端的連接將被視為多個用戶連接到系統(tǒng),這里的用戶數(shù)也將表現(xiàn)為終端的數(shù)目;
“load average”為當(dāng)前系統(tǒng)負(fù)載的平均值,后面的三個值分別為1分鐘前、5分鐘前、15分鐘前進程的平均數(shù),一般的可以認(rèn)為這個數(shù)值超過 CPU 數(shù)目時,CPU 將比較吃力的負(fù)載當(dāng)前系統(tǒng)所包含的進程;
第二行(Tasks):
“12 total”為當(dāng)前系統(tǒng)進程總數(shù);
“1 running”為當(dāng)前運行中的進程數(shù);
“11 sleeping”為當(dāng)前處于等待狀態(tài)中的進程數(shù);
“0 stoped”為被停止的系統(tǒng)進程數(shù);
“0 zombie”為被復(fù)原的進程數(shù);
第三行(Cpus):
分別表示了 CPU 當(dāng)前的使用率;
第四行(Mem):
分別表示了內(nèi)存總量、當(dāng)前使用量、空閑內(nèi)存量、以及緩沖使用中的內(nèi)存量;
第五行(Swap):
表示類別同第四行(Mem),但此處反映著交換分區(qū)(Swap)的使用情況。通常,交換分區(qū)(Swap)被頻繁使用的情況,將被視作物理內(nèi)存不足而造成的。
第二部分 — 中間部分的內(nèi)部命令提示欄:
top 運行中可以通過 top 的內(nèi)部命令對進程的顯示方式進行控制。內(nèi)部命令如下表:
s – 改變畫面更新頻率
l – 關(guān)閉或開啟第一部分第一行 top 信息的表示
t – 關(guān)閉或開啟第一部分第二行 Tasks 和第三行 Cpus 信息的表示
m – 關(guān)閉或開啟第一部分第四行 Mem 和 第五行 Swap 信息的表示
N – 以 PID 的大小的順序排列表示進程列表
P – 以 CPU 占用率大小的順序排列進程列表
M – 以內(nèi)存占用率大小的順序排列進程列表
h – 顯示幫助
n – 設(shè)置在進程列表所顯示進程的數(shù)量
q – 退出 top
s – 改變畫面更新周期
第三部分 — 最下部分的進程列表欄:
以 PID 區(qū)分的進程列表將根據(jù)所設(shè)定的畫面更新時間定期的更新。通過 top 內(nèi)部命令可以控制此處的顯示方式。
一般的,我們通過遠(yuǎn)程監(jiān)控的方式對服務(wù)器進行維護,讓服務(wù)器本地的終端實時的運行 top ,是在服務(wù)器本地監(jiān)視服務(wù)器狀態(tài)的快捷便利之一。
ubuntu進程管理方法
ps 顯示當(dāng)前進程
ps -l 顯示詳細(xì)信息
ps -u 以用戶的格式顯示
相關(guān)字段說明
F 進程狀態(tài)標(biāo)志
S 進程狀態(tài)代碼
UID 進程執(zhí)行者ID
PPID 父進程標(biāo)識(parent process ID)
PRI 進程執(zhí)行的優(yōu)先級(priority)
NI 進程執(zhí)行優(yōu)先級的nice值,負(fù)值表示其優(yōu)先級較高
SZ 進程占用的內(nèi)存大小
WCHAN 進程或系統(tǒng)調(diào)用等待時的地址
%CPU cpu使用百分比
%MEM 內(nèi)存使用百分比
VSZ 占用虛擬內(nèi)存大小
RSS 占用物理內(nèi)存大小
START 進程開始時間
kill 刪除進程
kill pid 刪除指定pid的進程
kill -l 查看所有可供傳送的信號
kill -9 pid 強制刪除進程,傳送的是SIGKILL信號
kill -15 pid 強制刪除進程,傳送的是SIGTERM信號
kill -HUP pid 重啟Deamon進程
free 查看內(nèi)存使用狀態(tài)
free -s 10 每10秒檢查內(nèi)存使用情況
nice 設(shè)置執(zhí)行優(yōu)先級,-20~19,19最低
sudo nice –2 vi 將vi的優(yōu)先級調(diào)為-2
renice 修改執(zhí)行優(yōu)先級,-20~19,19最低
top 動態(tài)顯示進程
按”P”鍵 按CPU使用時間排序
按”M”鍵 按內(nèi)存使用多少排序
按”T”鍵 按執(zhí)行時間多少排序
按”u”鍵 監(jiān)視特定用戶
按”K”鍵 刪除進程
top -d 10 指定更新時間
lsof -p 查看進程打開的文件
jobs 命令查看后臺作業(yè)
ubuntu結(jié)束進程方法
1、打開終端
2、敲 ps -ef 查出進程的編號(就是PID那列)
3、敲 kill PID (如果PID是123456,則kill 123456)
4、OK了
在本地Ubuntu Linux系統(tǒng)運行大軟件的時候,或者服務(wù)器長時間運行后,由于有些設(shè)計有缺陷的軟件,容易出現(xiàn)假死的情況!
那程序假死了以后,我們該怎么辦呢?其實這個 問題其實說簡單也簡單,直接結(jié)束進程不就OK了嘛!就像我們在Windows下面做的一樣!下面來介紹幾種Ubuntu Linux下面結(jié)束進程的幾種方法!
最安全殺死進程的方法
殺死進程最安全的方法是單純使用kill命令,不加修飾符,不帶標(biāo)志。
首先使用ps -ef命令確定要殺死進程的PID,然后輸入以下命令:
#kill -pid
注釋:標(biāo)準(zhǔn)的kill命令通常都能達到目的。終止有問題的進程,并把進程的資源釋放給系統(tǒng)。然而,如果進程啟動了子進程,只殺死父進程,子進程仍在運行,因此仍消耗資源。為了防止這些所謂的“僵尸進程”,應(yīng)確保在殺死父進程之前,先殺死其所有的子進程。
還可以使用如下命令來確定要殺死進程的PID或PPID
# ps -ef | grep httpd
以最優(yōu)雅的方式來結(jié)束進程
# kill -l PID
-l選項告訴kill命令用好像啟動進程的用戶已注銷的方式結(jié)束進程。當(dāng)使用該選項時,kill命令也試圖殺死所留下的子進程。但這個命令也不是總能成功--或許仍然需要先手工殺死子進程,然后再殺死父進程。
TERM信號
給父進程發(fā)送一個TERM信號,試圖殺死它和它的子進程。
# kill -TERM PPID
killall命令
killall命令殺死同一進程組內(nèi)的所有進程。其允許指定要終止的進程的名稱,而非PID。
# killall httpd
停止和重啟進程
有時候只想簡單的停止和重啟進程。如下:
# kill -HUP PID
該命令讓Linux和緩的執(zhí)行進程關(guān)閉,然后立即重啟。在配置應(yīng)用程序的時候,這個命令很方便,在對配置文件修改后需要重啟進程時就可以執(zhí)行此命令。
絕殺 kill -9 PID
同意的 kill -s SIGKILL
這個強大和危險的命令迫使進程在運行時突然終止,進程在結(jié)束后不能自我清理。危害是導(dǎo)致系統(tǒng)資源無法正常釋放,一般不推薦使用,除非其他辦法都無效。
當(dāng)使用此命令時,一定要通過ps -ef確認(rèn)沒有剩下任何僵尸進程。只能通過終止父進程來消除僵尸進程。如果僵尸進程被init收養(yǎng),問題就比較嚴(yán)重了。殺死init進程意味著關(guān)閉系統(tǒng)。
如果系統(tǒng)中有僵尸進程,并且其父進程是init,而且僵尸進程占用了大量的系統(tǒng)資源,那么就需要在某個時候重啟機器以清除進程表了
linux如何讓進程按照內(nèi)存大小排序
上一篇:ld和諾內(nèi)存卡怎么樣
下一篇:lol2g內(nèi)存夠嗎