您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Linux中的top命令如何使用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
一、內容介紹
top 命令運行圖:
***行——基本信息
load average:
load average 表示系統(tǒng)負載均值,使用 top 或 uptime 可以查看到負載均值的信息,三個數(shù)值分表表示 1 分鐘內 、5 分鐘內 、 15 分鐘內的系統(tǒng)負載均值,要理解這三個數(shù)值的含義,首先要了解系統(tǒng)的 “核數(shù)”
系統(tǒng)的核數(shù) = CPU1 x CPU1的核數(shù) + CPU2 x CPU2的核數(shù) + CPUn x CPUn的核數(shù) + ……
更清楚的講,在 Linux 系統(tǒng)中輸入命令grep -c 'model name' /proc/cpuinfo,即可得到核數(shù)。
回到負載均值,負載均值的飽和值等于系統(tǒng)的核數(shù), 所以, 根據(jù) load average 觀察系統(tǒng)負載首先要看系統(tǒng)中共有多少 "核", 單處理器單核的飽和值為 1, 單處理器雙核的飽和值為 2, 雙處理器單核的飽和值也為 2.
理解負載均值的最經(jīng)典的例子是把一個 CPU 的核當做一座單行單向橋, 多核即為多行路單向橋. 如圖:
假定, 目前系統(tǒng)是單核系統(tǒng), 根據(jù)上面的描述, 它的負載飽和值為 1. 這種條件下, 各種數(shù)值的含義如下:
0.00 表示橋上沒有任何車流, 非常暢通
0.50 表示橋上有***承載量一半的車流, 也比較流暢.
1.00 表示橋上已經(jīng)達到了***承載量, 如果再有車來, 可能就要稍等才能上橋了, 這種情況下, 車速都會很慢, 往往都會造成負載均值繼續(xù)上升.
1.70 表示橋已經(jīng)達到***負載, 且還有相對于橋***負載 70% 的車輛等待上橋, 這個時候的系統(tǒng), 已經(jīng)要不堪重負了.
在實際應用中, 重點關注 5 分鐘,15 分鐘的負載均值,當達到 0.7 時,就需要調查原因了。
2. 任務信息
僵尸進程:表示已經(jīng)終止,但仍然保留一些信息的進程。其等待父進程調用 wait(),就可以從內存中完全移除。 將是進程無法使用 kill 清理。如果要手動清理僵尸進程,需要找到其父進程,kill 掉父進程后,LInux 的 init 進程將接管該僵尸進程 (linux 中所有的子進程都需要有父進程,當父進程被 kill 后,其所有子進程將過繼給 init 進程),init 進程隔一段時間去調用 wait(), 來清除僵尸進程。
3. CPU 使用情況
4. 物理內存使用情況
buff/cache:
buffers 和 cache 都是內存中存放的數(shù)據(jù),不同的是,buffers 存放的是準備寫入磁盤的數(shù)據(jù),而 cache 存放的是從磁盤中讀取的數(shù)據(jù)
在 Linux 系統(tǒng)中,有一個守護進程 (daemon) 會定期把 buffers 中的數(shù)據(jù)寫入的磁盤,也可以使用 sync 命令手動把 buffers 中的數(shù)據(jù)寫入磁盤。使用 buffers 可以把分散的 I/O 操作集中起來,減少了磁盤尋道的時間和磁盤碎片。
cache 是 Linux 把讀取頻率高的數(shù)據(jù),放到內存中,減少 I/O。Linux 中 cache 沒有固定大小,根據(jù)使用情況自動增加或刪除。
# 手動把buffers寫入硬盤并清空cachesync && echo 3 > /proc/sys/vm/drop_caches
5. 交換區(qū)使用情況
Swap(內存交換區(qū)):
是硬盤上的一塊空間。在內存不足的情況下,操作系統(tǒng)把內存中不用的數(shù)據(jù)存到硬盤的交換區(qū),騰出內存來讓別的程序運行。因此,開啟 swap 會一定程度的引起 I/O 性能下降 (阿里服務器默認不開)。
6. 進程詳細信息
二、靈活使用 top
1. 命令行式使用
-b:以批處理模式操作 這種方式可以把 top 輸出的內容以可讀的形式寫入文件top -b >> top.txt
-c:顯示完整的命令行 (COMMAND), 想查看進程執(zhí)行的具體位置時,非常有用
-d:屏幕刷新間隔時間 top -d 1: 表示每隔一秒刷新一次
-s:使用保密模式
-S:指定累積模式
-i:不顯示任何閑置或者僵死進程
-u<用戶名>:指定用戶名
-p<進程號>:指定進程
-n<次數(shù)>:指定循環(huán)顯示的次數(shù),到了次數(shù)自己退出。
2. 交互式使用
top 命令顯示系統(tǒng)實時狀態(tài),支持交互操作。執(zhí)行 top 命令,顯示系統(tǒng)狀態(tài)界面(同時也是交互界面),輸入交互命令:
1:查看 CPU 每個核的使用情況
h:顯示幫助畫面,給出一些簡短的命令總結說明
k:終止一個進程
i:忽略閑置和僵死進程,這是一個開關式命令
q:退出程序
r:重新安排一個進程的優(yōu)先級別
S:切換到累計模式
s:改變兩次刷新之間的延遲時間(單位為 s),如果有小數(shù),就換算成 ms。輸入 0 值則系統(tǒng)將不斷刷新,默認值是 5s
l:切換顯示平均負載和啟動時間信息
m:切換顯示內存信息
t:切換顯示進程和 CPU 狀態(tài)信息
c:切換顯示命令名稱和完整命令行
M:根據(jù)駐留內存大小進行排序
P:根據(jù) CPU 使用百分比大小進行排序
T:根據(jù)時間 / 累計時間進行排序
w:將當前設置寫入~/.toprc 文件中。
關于“Linux中的top命令如何使用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。