嵌入式linux完整top命令,linux的top命令详解
引言
top命令是UNIX/Linux系統中,用于查看系統詳情的第一入口,一般我們查看機器運行狀態的時候,總是第一個使用top命令,而實際上top命令展示的數據很多,對于新手來說這些其實并不友好。本文主要的目的就是做一個詳細的梳理。
介紹(description)
top 程序提供了一個正在運行的系統的實時數據的展示。它可以展示的內容包含系統的基本信息,以及當前正在被linux內核管理的任務。這些系統的摘要信息的類型以及任務展示的類型,排序和大小都是用戶可配置的,并且這些配置可以是持久化的,不受重啟影響。
首行/基本信息
首行可以使用命令 upTIme替代。首行顯示的內容從左到右分別為
* 當前的時間
* 系統累積以及運行的時間
* 當前登入用戶的數量
* 當前的系統負載。
系統負載三個數字的含義
一般來說,系統每隔5秒鐘,會檢查一下當前系統活躍的進程數。這個活躍進程要滿足3個前提
* 它沒有在等待I/O操作的結果
* 它沒有主動進入等待狀態(也就是沒有調用’wait’)
* 沒有被停止(例如:等待終止)
而系統負載的三個數值分別表示的是1分鐘,5分鐘和15分鐘系統負載的平均值。
對于一個具有n核處理器的系統來說,當系統負載的load average為n的時候,表示系統差不多剛剛好滿負荷,但是已經沒有額外的經歷去處理其它任務了。當load average 大于n的時候,表示系統超負荷運轉。一般來說為了使系統能正常運轉,我們經驗上,任務load average / n 《 0.7 是一般能接受的情況。
第二行/cpu信息
第二行主要顯示進程和cpu的信息,注意在top命令中task指進程。第二行的信息依次為
* 進程總數
* 正常運行的進程數量
* 休眠的進程總數
* 停止的進程總數
* 僵死進程總數
* us用戶進程占用cpu資源的百分比
* sy內核態進程占cpu資源的百分比
* ni用戶進程空間內改變過優先級的進程占cpu資源的百分比
* id空閑cpu的百分比
* wa 等待輸入輸出的進程占cpu資源的百分比
* hi 硬中斷占用的百分比
* si軟中斷占用的百分比
* st 虛擬機占用百分比
第三行/內存相關信息
mem
物理內存總量
使用的物理內存總量
空閑的物理內存總量
用在內核緩存的內存總量
swap
交換區內存總量
使用的交換區的總量
空閑的交換區總量
緩存的交換區總量。
Swap:表示硬盤上交換分區的使用情況。只有mem被當前進程實際占用完,即沒有了buffers和cache時,才會使用到swap。
上面這句話只是一般情況下的理想狀態,實際上內核可能會主動地將一些暫時不用的內存塊寫入到磁盤的交換區(swap),這樣節約出來的內存就可以用作他用了。這些被寫入swap的內存,只有當實際需要的時候,才會被重新寫入內存。
注意:當物理內存空閑的時候,也有可能會有大量的swap。原因在于,有可能存在這么一種情況,某一個進程,需要大量的物理內存,而當這個進程結束的時候,這個進程在生命周期中,被交換進入swap的內存,并不會主動釋放。操作系統總是在實際需要的時候才去做處理,這樣就會出現在某一些特定的時段,物理內存很空閑,而swap使用量卻很高的情況。
進程信息
參看Linux中top的說明
* pid : Process Id進程id,這個是進程的唯一標識符。這個id,會被周期性地復寫,但是不會從0開始。
* ppid : Parent Process PID父進程的pid
* ruser : Real User Name, 當前進程真實的用戶名稱
* uid : User Id. 進程擁有者的有效用戶id
* USER : User Name,生效用戶名稱
* group : group name 用戶組民粹
* TTY : Controlling Tty 控制終端的名稱。啟動進程的終端名稱。然而當一個進程不是從終端中被訪問的時候,你將會看到問號(????)
* pr : Priority 進程的優先級
* ni : Nice Value.優先級的值,負數表示優先級很高,正數表示優先級比較低。
* p : Last userd CPU (SMP)。在多處理環境中,表示最近一次使用的cpu序號。
* %cpu : cpu的使用量占總cpu時間的百分比
* TIME : CPU TIME 任務從開始到現在使用的cpu的總時間。
* TIME + : CPU Time ,hundredths 更為細粒度更為精確的cpu耗時
* %MES : 進程使用的內存量
* VIRT : 進程使用的虛擬內存的大小
* SWAP : 進程使用的交換區的大小
* RES : Resident Size 駐留內存大小,指進程除去使用交換區swap的內存,使用的物理內存的大小
* CODE : code size 指代碼占用物理內存的大小
* DATA : Data + Stack size 數據和堆棧占用的大小
* SHR : Shared Mem size 進程共享內存的大小
* nFLT : Page Fault Count 缺頁總數
* nDRT : Dirty Pages count 臟頁數量
* S : process status 進程狀態 。 分別有D R S T Z ,分別表示【不可中斷的休眠】【正在運行】【休眠中】【暫?;蛘吒櫊顟B】【僵死狀態】,參考
* Command : Command line or Program name 命令或者進程名稱
* WCHAN : Sleep in Function 顯示當前休眠的函數
* Flages :Task Flags 進程在進程計劃中的標準。
總結
以上是生活随笔為你收集整理的嵌入式linux完整top命令,linux的top命令详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 的压缩文件格式,linux
- 下一篇: linux命令eric,Linux命令行