top 命令詳解
阿新 • • 發佈:2020-07-10
top命令
top命令 [root@fpm_nginx /app]# top top - 12:19:58 up 3:45, 1 user, load average: 0.00, 0.02, 0.05 Tasks: 91 total, 1 running, 90 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 995896 total, 695140 free, 94524 used, 206232 buff/cache KiB Swap: 2097148 total, 2097148 free, 0 used. 731568 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 6370 root 20 0 573936 17236 6096 S 0.3 1.7 0:05.52 tuned 9977 root 20 0 161892 2172 1548 R 0.3 0.2 0:00.73 top 第一行: top - 12:19:58 up 3:45 # 啟動了3小時45分鐘,當前時間系統時間-12:19:58 1 user # 同時線上的使用者 load average: 0.00, 0.02, 0.05 # 伺服器的負載,1min的負載、5min的負載、15min的負載 第二行: Tasks: 91 total # 當前有91個工作任務 1 running # 1個正在執行的 90 sleeping # 90個在休眠的 0 stopped # 沒有被停止的 0 zombie # 沒有殭屍程序 第三行: %Cpu(s): 0.3 us, 0.3 sy # 使用者使用cpu的百分比 us user # 使用者態 sy system # 核心態 ni # 優先順序 99.3 id # cpu空閒程度 0.0 wa # 等待的狀態的程序佔cpu的百分比 0.0 hi # 硬中斷 0.0 si # 軟中斷 0.0 st # 虛擬機器佔用物理機的百分比
什麼是中斷
中斷是指計算機執行過程中,出現某些意外情況需主機干預時,機器能自動停止正在執行的程式並轉入處理新的程式,處理完畢後又返回原被暫停的程式繼續執行。
什麼是軟中斷呢?
軟中斷和硬中斷都有一個共同的特點,都會中斷當前操作,但是呢又有所區別,軟中斷當在進行一個任務的時候來了一個新的任務,就將先停止當前的任務,然後立馬將新的任務放入記憶體當中,延遲處理新任務,最後此 任務交由執行緒來進行處理。
為了滿足實時系統的要求,中斷處理應該是越快越好。linux為了實現這個特點,當中斷髮生的時候,硬中斷處理那些短時間就可以完成的工作,而將那些處理事件比較長的工作,放到中斷之後來完成,也就是軟中斷 (softirq)來完成。
什麼是硬中斷呢
同樣在執行一個程序的時候,又有新的任務請求訪問,cpu會立馬對當前程序進行處理,但是呢新的程序只能處於等待,等待上程序結束之後,才能對新程序進行處理
由與系統相連的外設(比如網絡卡、硬碟)自動產生的。主要是用來通知作業系統,系統外設狀態的變化。比如當網絡卡收到資料包的時候,就會發出一箇中斷。我們通常所說的中斷指的是硬中斷(hardirq)。
top-的使用方法
[root@fpm_nginx ~]# yum -y install htop htop top -d # 指定動態變化時間 -p # 檢視指定pid的程序 -u # 檢視指定使用者的程序 -b # 輸出完整的內容 top -d1 -b -n2 >top.txt -n # 指定次數 # top的快捷鍵 h # 檢視幫助 z # 高亮顯示 1 # 顯示所有cpu s # 設定重新整理時間 b # 高亮顯示處於R狀態的程序 M # 按記憶體百分比排序輸出 P # 按CPU使用百分比排序輸出 R # 對排序進行反轉 f # 自定義顯示欄位 k # kill掉指定的pid程序 W # 儲存top環境設定 ~/.toprc B # 加粗 q # 退出 PID # 程序id USER # 使用者 PR # 優先順序 NI # nice值 VIRT # 虛擬記憶體 RES # 真實記憶體 SHR # 共享記憶體 S # 程序的狀態 %CPU # 佔用cpu的百分比 %MEM # 佔用記憶體的百分比 TIME+ # 程序執行時間 COMMAND # 程序執行的命令