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