9.7 top:实时显示系统中各个进程的资源占用状况
top命令
? 用于實(shí)時(shí)地對系統(tǒng)處理器狀態(tài)進(jìn)行監(jiān)控,它能夠?qū)崟r(shí)地顯示系統(tǒng)中各個(gè)進(jìn)程的資源占用狀況。該命令可以按照CPU的使用、內(nèi)存的使用和執(zhí)行時(shí)間對系統(tǒng)任務(wù)進(jìn)程進(jìn)行排序顯示,同時(shí)top命令還可以通過交互式命令進(jìn)行設(shè)定顯示。
top命令的參數(shù)選項(xiàng)及說明
-a 將進(jìn)程按照使用內(nèi)存排序 -b 以批處理的模式顯示進(jìn)程信息,輸出結(jié)果可以傳遞給其他程序或?qū)懭氲轿募小T谶@種模式下,top命令不會接受任何輸入,一直運(yùn)行直到達(dá)到 -n 選項(xiàng)設(shè)置的閥值,或者按Ctrl+C等組合鍵終止程序 -c 顯示進(jìn)程的整個(gè)命令路徑,而不是只顯示命令名稱 -d 指定每兩次屏幕信息刷新之間的時(shí)間間隔 -H 指定這個(gè)可以顯示每個(gè)線程的情況,否則就是進(jìn)程的總的狀態(tài) -i 不顯示閑置或者僵死的進(jìn)程信息 -n top輸出信息更新的次數(shù),完成后將退出top命令 -p 顯示指定的進(jìn)程信息交互式命令
交互式命令就是在top命令執(zhí)行過程中使用的一些命令。對交互式命令說明h或? 顯示幫助信息,給出交互式命令的一些說明總結(jié) Z 全局顏色設(shè)置 B 全局字體加粗設(shè)置 l 切換是否顯示平均負(fù)載和啟動時(shí)間信息 t 切換是否顯示進(jìn)程和CPU狀態(tài)信息 m 切換是否顯示內(nèi)存信息 1 數(shù)字1,用于多核CPU監(jiān)控,可監(jiān)控每個(gè)邏輯CPU的狀況 I Irix/Solaris模式 f 從當(dāng)前顯示列表中添加或刪除項(xiàng)目。按“f”鍵之后會顯示列的列表,按“a~z”鍵即可顯示或隱藏對應(yīng)的列,最后按回車鍵確定 o 改變top輸出信息中顯示項(xiàng)目的順序。按小寫的“a~z”鍵可以將相應(yīng)的列向右移動,而按大寫的“A~Z”鍵可以將相應(yīng)的列向左移動,最后按回車鍵確定 F或O 選擇排序的列 <,> 移動選擇排序的列,“<”選擇左鄰一列排序,“>”選擇右鄰一列排序R 切換正常/反轉(zhuǎn)排序 H 切換是否顯示線程信息 c 切換是否顯示完整命令行和命令名稱信息 i 切換是否顯示閑置進(jìn)程和僵死進(jìn)程 S 切換到累計(jì)模式 x 以高亮的形式排序?qū)?yīng)列,需要結(jié)合b/z使用 y 高亮運(yùn)行的進(jìn)程,需要結(jié)合b/z使用 z 打開/關(guān)閉顏色 b 打開/關(guān)閉加粗 u 顯示指定用戶相關(guān)的進(jìn)程信息 n或# 設(shè)置顯示進(jìn)程的最大行數(shù) k 終止一個(gè)進(jìn)程,系統(tǒng)將提示用戶輸入一個(gè)需要終止進(jìn)程的PID r 重新設(shè)置一個(gè)進(jìn)程的優(yōu)先級,系統(tǒng)提示用戶輸入需要改變的進(jìn)程PID,以及需要設(shè)置的進(jìn)程優(yōu)先級值。輸入一個(gè)正值將使優(yōu)先級降低,反之則可以使該進(jìn)程擁有更高的優(yōu)先權(quán)。默認(rèn)值是10 d或s 改變top輸出信息兩次刷新之間的時(shí)間,系統(tǒng)將提示輸入新的時(shí)間,單位是s。如果是小數(shù),則換算成ms;如果輸入0,那么系統(tǒng)輸出將會不斷刷新,默認(rèn)刷新時(shí)間是3s。需要注意的是,如果設(shè)置太小的時(shí)間,則可能會引起系統(tǒng)不斷刷新,無法看清輸出顯示情況,而且系統(tǒng)負(fù)載也會加大 W 將當(dāng)前top設(shè)置寫入“.toprc”文件中 q 退出top顯示顯示進(jìn)程信息
下面針對命令各行的內(nèi)容進(jìn)行說明。 第一行,任務(wù)隊(duì)列信息,同uptime命令的執(zhí)行結(jié)果。02:39:54 當(dāng)前系統(tǒng)時(shí)間。up 1day,16:36 系統(tǒng)已經(jīng)運(yùn)行了1天16小時(shí)36分。1 users 當(dāng)前有 1 個(gè)用戶登錄系統(tǒng)。load average:0.00,0.00,0.00load average后面的三個(gè)數(shù)分別是1分鐘、5分鐘、15分鐘的平均負(fù)載情況。 第二行,Tasks為任務(wù)(進(jìn)程)。從上面的信息可以看出,系統(tǒng)現(xiàn)在共有134個(gè)進(jìn)程,其中處于運(yùn)行狀態(tài)的有1個(gè),91個(gè)在休眠(sleep),stoped狀態(tài)0個(gè),zombie狀態(tài)(僵死)的有0個(gè)。 第三行,CPU狀態(tài)信息。0.0%us 用戶空間占用CPU的百分比。0.0%sy 內(nèi)核空間占用CPU的百分比。0.0%ni 改變過優(yōu)先級的進(jìn)程占用CPU的百分比。100.0%id 空閑CPU百分比。0.0%wa I/0等待占用CPU的百分比。0.0%hi 硬中斷(Hardware IRQ)占用CPU的百分比。0.0%si 軟中斷(Software Interrupts)占用CPU的百分比。0.0%st 虛擬機(jī)占用CPU的百分比。 第四行,內(nèi)存狀態(tài)。486224k total 物理內(nèi)存總量。401188k used 使用中的內(nèi)存總量。85036k free 空閑內(nèi)存總量。42352k buffers 緩沖的內(nèi)存量。 第五行,swap交換分區(qū)信息。1535996k total 交換區(qū)總量。0k used 使用的交換區(qū)總量。1535996k free 空閑交換區(qū)總量。216936k cached 緩存的內(nèi)存量。1)計(jì)算真正可用的內(nèi)存數(shù)為:第四行的free+第四行的buffers+第五行的cached。 2)在對內(nèi)存進(jìn)行監(jiān)控時(shí),我們要時(shí)刻關(guān)注top命令里第五行swap交換分區(qū)的used,如果這個(gè)數(shù)值還在不斷地變化,則說明內(nèi)核正在不斷進(jìn)行內(nèi)存和swap的數(shù)據(jù)交換,這表示內(nèi)存真的不夠用了或者程序運(yùn)行有內(nèi)存溢出問題。第六行,空行。 從第七行開始,給出的是各進(jìn)程(任務(wù))的狀態(tài)監(jiān)控。PID 進(jìn)程id。USER 進(jìn)程所有者。PR 進(jìn)程優(yōu)先級。NI nice值,負(fù)值表示高優(yōu)先級,正值表示低優(yōu)先級。VIRT 進(jìn)程使用的虛擬內(nèi)存總量,單位為kb。RES 進(jìn)程使用的、未被換出的物理內(nèi)存大小,單位為kb。SHR 共享內(nèi)存大小,單位為kb。S 進(jìn)程狀態(tài)。D=不可中斷的睡眠狀態(tài)R=運(yùn)行S=睡眠T=跟蹤/停止Z=僵尸進(jìn)程。%CPU 上次更新到現(xiàn)在的CPU時(shí)間占用百分比。%MEM 進(jìn)程使用的物理內(nèi)存百分比。TIME+ 進(jìn)程使用的CPU時(shí)間總計(jì),單位1/100秒。COMMAND 進(jìn)程名稱(命令名/命令行)。顯示多核不同核CPU的信息
按數(shù)字“1”,可監(jiān)控每個(gè)邏輯CPU情況
服務(wù)器有兩個(gè)CPU,再按數(shù)字1返回到top基本視圖界面
將進(jìn)程按照使用內(nèi)存排序
[root@cs6 ~]# top -a # centos 7 里面沒有該選項(xiàng),top交互模式下按 M
以批處理模式顯示進(jìn)程信息。
[root@doit ~]# top -b #<=使用參教 -b 可以看到命令執(zhí)行結(jié)果不停地向下刷新。
顯示進(jìn)程的完整路徑
[root@doit ~]# top -c #<=使用參數(shù)-c 顯示進(jìn)程的整個(gè)命令路經(jīng),而不是只顯示命令名稱。
設(shè)置執(zhí)行top命令后的信息刷新時(shí)間
[root@doit ~]# top -d 3 #<==使用參數(shù)-d指定更新周期為3秒,也就是說命令結(jié)果每隔3s刷新一次。
設(shè)置執(zhí)行top命令后的信息刷新次數(shù)。
[root@doit ~]# top -n 2 #<=使用參數(shù) -n 指定更新次數(shù)為2次,也就是說命令結(jié)果刷新兩次后終止退出,-n參數(shù)可以和一d參數(shù)配合使用。
顯示指定的進(jìn)程信息
[root@doit ~]# top -p 3782
字段排序(交互模式)例子
默認(rèn)進(jìn)入top命令時(shí),各進(jìn)程是按照CPU的使用量來排序的。
敲擊鍵盤“b”和“x”,得到圖
敲擊鍵盤“z”和“x”,
敲擊z后,可以看到大部分內(nèi)容都變成了紅色,再敲x,對列高亮顯示。
通過“>”或“<”可以向右或向左改變排序列,
敲擊鍵盤“>”或“<”,可以改變排序的列,依然高亮顯示,降序排列。
總結(jié)
以上是生活随笔為你收集整理的9.7 top:实时显示系统中各个进程的资源占用状况的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 9.2-3 pstree pgrep
- 下一篇: 9.10 nohup:用户退出系统进程继