日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Linuxtop命令詳解:持續(xù)監(jiān)聽(tīng)進(jìn)程運(yùn)行狀態(tài)
ps 命令可以一次性給出當(dāng)前系統(tǒng)中進(jìn)程狀態(tài),但使用此方式得到的信息缺乏時(shí)效性,并且,如果管理員需要實(shí)時(shí)監(jiān)控進(jìn)程運(yùn)行情況,就必須不停地執(zhí)行 ps 命令,這顯然是缺乏效率的。

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、金州網(wǎng)絡(luò)推廣、小程序開(kāi)發(fā)、金州網(wǎng)絡(luò)營(yíng)銷、金州企業(yè)策劃、金州品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供金州建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com

為此,linux 提供了
 top 命令。top 命令可以動(dòng)態(tài)地持續(xù)監(jiān)聽(tīng)進(jìn)程地運(yùn)行狀態(tài),與此同時(shí),該命令還提供了一個(gè)交互界面,用戶可以根據(jù)需要,人性化地定制自己的輸出,進(jìn)而更清楚地了進(jìn)程的運(yùn)行狀態(tài)。

top 命令的基本格式如下:

[root@localhost ~]#top [選項(xiàng)]

選項(xiàng):

  • -d 秒數(shù):指定 top 命令每隔幾秒更新。默認(rèn)是 3 秒;
  • -b:使用批處理模式輸出。一般和"-n"選項(xiàng)合用,用于把 top 命令重定向到文件中;
  • -n 次數(shù):指定 top 命令執(zhí)行的次數(shù)。一般和"-"選項(xiàng)合用;
  • -p 進(jìn)程PID:僅查看指定 ID 的進(jìn)程;
  • -s:使 top 命令在安全模式中運(yùn)行,避免在交互模式中出現(xiàn)錯(cuò)誤;
  • -u 用戶名:只監(jiān)聽(tīng)某個(gè)用戶的進(jìn)程;

在 top 命令的顯示窗口中,還可以使用如下按鍵,進(jìn)行一下交互操作:

  • ? 或 h:顯示交互模式的幫助;
  • P:按照 CPU 的使用率排序,默認(rèn)就是此選項(xiàng);
  • M:按照內(nèi)存的使用率排序;
  • N:按照 PID 排序;
  • T:按照 CPU 的累積運(yùn)算時(shí)間排序,也就是按照 TIME+ 項(xiàng)排序;
  • k:按照 PID 給予某個(gè)進(jìn)程一個(gè)信號(hào)。一般用于中止某個(gè)進(jìn)程,信號(hào) 9 是強(qiáng)制中止的信號(hào);
  • r:按照 PID 給某個(gè)進(jìn)程重設(shè)優(yōu)先級(jí)(Nice)值;
  • q:退出 top 命令;

我們看看 top 命令的執(zhí)行結(jié)果,如下:

[root@localhost ~]# top
top - 12:26:46 up 1 day, 13:32, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 95 total, 1 running, 94 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 0.1%sy, 0.0%ni, 99.7%id, 0.1%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 625344k total, 571504k used, 53840k free, 65800k buffers
Swap: 524280k total, 0k used, 524280k free, 409280k cached
PID   USER PR NI VIRT  RES  SHR S %CPU %MEM   TIME+ COMMAND
19002 root 20  0 2656 1068  856 R  0.3  0.2 0:01.87 top
1     root 20  0 2872 1416 1200 S  0.0  0.2 0:02.55 init
2     root 20  0    0    0    0 S  0.0  0.0 0:00.03 kthreadd
3     root RT  0    0    0    0 S  0.0  0.0 0:00.00 migration/0
4     root 20  0    0    0    0 S  0.0  0.0 0:00.15 ksoftirqd/0
5     root RT  0    0    0    0 S  0.0  0.0 0:00.00 migration/0
6     root RT  0    0    0    0 S  0.0  0.0 0:10.01 watchdog/0
7     root 20  0    0    0    0 S  0.0  0.0 0:05.01 events/0
8     root 20  0    0    0    0 S  0.0  0.0 0:00.00 cgroup
9     root 20  0    0    0    0 S  0.0  0.0 0:00.00 khelper
10    root 20  0    0    0    0 S  0.0  0.0 0:00.00 netns
11    root 20  0    0    0    0 S  0.0  0.0 0:00.00 async/mgr
12    root 20  0    0    0    0 S  0.0  0.0 0:00.00 pm
13    root 20  0    0    0    0 S  0.0  0.0 0:01.70 sync_supers
14    root 20  0    0    0    0 S  0.0  0.0 0:00.63 bdi-default
15    root 20  0    0    0    0 S  0.0  0.0 0:00.00 kintegrityd/0
16    root 20  0    0    0    0 S  0.0  0.0 0:02.52 kblockd/0
17    root 20  0    0    0    0 S  0.0  0.0 0:00.00 kacpid
18    root 20  0    0    0    0 S  0.0  0.0 0:00.00 kacpi_notify

我們解釋一下命令的輸出。top 命令的輸出內(nèi)容是動(dòng)態(tài)的,默認(rèn)每隔 3 秒刷新一次。命令的輸出主要分為兩部分:

  1. 第一部分是前五行,顯示的是整個(gè)系統(tǒng)的資源使用狀況,我們就是通過(guò)這些輸出來(lái)判斷服務(wù)器的資源使用狀態(tài)的;
  2. 第二部分從第六行開(kāi)始,顯示的是系統(tǒng)中進(jìn)程的信息;

我們先來(lái)說(shuō)明第一部分的作用。

  • 第一行為任務(wù)隊(duì)列信息,具體內(nèi)容如表 1 所示。
    表 1 任務(wù)隊(duì)列信息
    內(nèi) 容 說(shuō) 明
    12:26:46 系統(tǒng)當(dāng)前時(shí)間
    up 1 day, 13:32 系統(tǒng)的運(yùn)行時(shí)間.本機(jī)己經(jīng)運(yùn)行 1 天 13 小時(shí) 32 分鐘
    2 users 當(dāng)前登錄了兩個(gè)用戶
    load average: 0.00,0.00,0.00 系統(tǒng)在之前 1 分鐘、5 分鐘、15 分鐘的平均負(fù)載。如果 CPU 是單核的,則這個(gè)數(shù)值超過(guò) 1 就是高負(fù)載:如果 CPU 是四核的,則這個(gè)數(shù)值超過(guò) 4 就是高負(fù)載 (這個(gè)平均負(fù)載完全是依據(jù)個(gè)人經(jīng)驗(yàn)來(lái)進(jìn)行判斷的,一般認(rèn)為不應(yīng)該超過(guò)服務(wù)器 CPU 的核數(shù))

  • 第二行為進(jìn)程信息,具體內(nèi)容如表 2 所示。
    表 2 進(jìn)程信息
    內(nèi) 容 說(shuō) 明
    Tasks: 95 total 系統(tǒng)中的進(jìn)程總數(shù)
    1 running 正在運(yùn)行的進(jìn)程數(shù)
    94 sleeping 睡眠的進(jìn)程數(shù)
    0 stopped 正在停止的進(jìn)程數(shù)
    0 zombie 僵尸進(jìn)程數(shù)。如果不是 0,則需要手工檢查僵尸進(jìn)程

  • 第三行為 CPU 信息,具體內(nèi)容如表 3 所示。
    表 3 CPU信息
    內(nèi) 容 說(shuō) 明
    Cpu(s): 0.1 %us 用戶模式占用的 CPU 百分比
    0.1%sy 系統(tǒng)模式占用的 CPU 百分比
    0.0%ni 改變過(guò)優(yōu)先級(jí)的用戶進(jìn)程占用的 CPU 百分比
    99.7%id 空閑 CPU 占用的 CPU 百分比
    0.1%wa 等待輸入/輸出的進(jìn)程占用的 CPU 百分比
    0.0%hi 硬中斷請(qǐng)求服務(wù)占用的 CPU 百分比
    0.1%si 軟中斷請(qǐng)求服務(wù)占用的 CPU 百分比
    0.0%st st(steal time)意為虛擬時(shí)間百分比,就是當(dāng)有虛擬機(jī)時(shí),虛擬 CPU 等待實(shí)際 CPU 的時(shí)間百分比

  • 第四行為物理內(nèi)存信息,具體內(nèi)容如表 4 所示。
    表 4 物理內(nèi)存信息
    內(nèi) 容 說(shuō) 明
    Mem: 625344k total 物理內(nèi)存的總量,單位為KB
    571504k used 己經(jīng)使用的物理內(nèi)存數(shù)量
    53840k&ee 空閑的物理內(nèi)存數(shù)量。我們使用的是虛擬機(jī),共分配了 628MB內(nèi)存,所以只有53MB的空閑內(nèi)存
    65800k buffers 作為緩沖的內(nèi)存數(shù)量

  • 第五行為交換分區(qū)(swap)信息,如表 5 所示。
    表 5 交換分區(qū)信息
    內(nèi) 容 說(shuō) 明
    Swap: 524280k total 交換分區(qū)(虛擬內(nèi)存)的總大小
    Ok used 已經(jīng)使用的交換分區(qū)的大小
    524280k free 空閑交換分區(qū)的大小
    409280k cached 作為緩存的交換分區(qū)的大小

我們通過(guò) top 命令的第一部分就可以判斷服務(wù)器的健康狀態(tài)。如果 1 分鐘、5 分鐘、15 分鐘的平均負(fù)載高于 1,則證明系統(tǒng)壓力較大。如果 CPU 的使用率過(guò)高或空閑率過(guò)低,則證明系統(tǒng)壓力較大。如果物理內(nèi)存的空閑內(nèi)存過(guò)小,則也證明系統(tǒng)壓力較大。

這時(shí),我們就應(yīng)該判斷是什么進(jìn)程占用了系統(tǒng)資源。如果是不必要的進(jìn)程,就應(yīng)該結(jié)束這些進(jìn)程;如果是必需進(jìn)程,那么我們?cè)搲埣臃?wù)器資源(比如増加虛擬機(jī)內(nèi)存),或者建立集群服務(wù)器。

我們還要解釋一下
緩沖(buffer)和
緩存(cache)的區(qū)別:

  • 緩存(cache)是在讀取硬盤中的數(shù)據(jù)時(shí),把最常用的數(shù)據(jù)保存在內(nèi)存的緩存區(qū)中,再次讀取該數(shù)據(jù)時(shí),就不去硬盤中讀取了,而在緩存中讀取。
  • 緩沖(buffer)是在向硬盤寫入數(shù)據(jù)時(shí),先把數(shù)據(jù)放入緩沖區(qū),然后再一起向硬盤寫入,把分散的寫操作集中進(jìn)行,減少磁盤碎片和硬盤的反復(fù)尋道,從而提高系統(tǒng)性能。

簡(jiǎn)單來(lái)說(shuō),緩存(cache)是用來(lái)加速數(shù)據(jù)從硬盤中"讀取"的,而緩沖(buffer)是用來(lái)加速數(shù)據(jù)"寫入"硬盤的。

再來(lái)看 top 命令的第二部分輸出,主要是系統(tǒng)進(jìn)程信息,各個(gè)字段的含義如下:

  • PID:進(jìn)程的 ID。
  • USER:該進(jìn)程所屬的用戶。
  • PR:優(yōu)先級(jí),數(shù)值越小優(yōu)先級(jí)越高。
  • NI:優(yōu)先級(jí),數(shù)值越小、優(yōu)先級(jí)越高。
  • VIRT:該進(jìn)程使用的虛擬內(nèi)存的大小,單位為 KB。
  • RES:該進(jìn)程使用的物理內(nèi)存的大小,單位為 KB。
  • SHR:共享內(nèi)存大小,單位為 KB。
  • S:進(jìn)程狀態(tài)。
  • %CPU:該進(jìn)程占用 CPU 的百分比。
  • %MEM:該進(jìn)程占用內(nèi)存的百分比。
  • TIME+:該進(jìn)程共占用的 CPU 時(shí)間。
  • COMMAND:進(jìn)程的命令名。

這部分和 ps 命令的輸出比較類似,只是如果在終端執(zhí)行 top 命令,則不能看到所有的進(jìn)程,而只能看到占比靠前的進(jìn)程。接下來(lái)我們舉幾個(gè) top 命令常用的實(shí)例。

【例 1】如果只想讓 top 命令查看某個(gè)進(jìn)程,就可以使用 "-p 選項(xiàng)"。命令如下:

[root@localhost ~]# top -p 15273
#只查看 PID為 15273的apache進(jìn)程
top - 14:28:47 up 1 day, 15:34, 3 users, load average: 0.00,0.00,0.00
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 625344k total, 574124k used, 51220k free, 67024k buffers
Swap: 524280k total, Ok used, 524280k free, 409344k cached
PID     USER PR NI VIRT  RES SHR S %CPU %MEM  TIME+  COMMAND
15273 daemon 20 0  4520 1192 580 S  0.0  0.2 0:00.00   httpd

【例 2】top 命令如果不正確退出,則會(huì)持續(xù)運(yùn)行。在 top 命令的交互界面中按 "q" 鍵會(huì)退出 top 命令;也可以按 "?" 或 "h" 鍵得到 top 命令交互界面的幫助信息;還可以按鍵中止某個(gè)進(jìn)程。比如:

[root@localhost ~]# top
top - 14:10:15 up 1 day, 15:15, 3 users, load average: 0.00,0.00, 0.00
Tasks: 97 total, 1 running, 96 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 625344k total, 574248k used, 51096k free, 66840k buffers
Swap: 524280k total, Ok used, 524280k free, 409324k cached
PID to kill:15273
#按"k"鍵,會(huì)提示輸入要?dú)⑺肋M(jìn)程的PID
PID     USER PR NI VIRT  RES SHR S %CPU %MEM   TIME+ COMMAND
15273 daemon 20  0 4520 1192 580 S  0.0 0.2  0:00.00 httpd
..省略部分輸出...

【例 3】輸入要中止進(jìn)程的 PID,比如要中止 15273 這個(gè) apache 進(jìn)程,命令如下:

top - 14:11:42 up 1 day, 15:17, 3 users, load average: 0.00,0.00, 0.00
Tasks: 97 total, 1 running, 96 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.3%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 625344k total, 574248k used, 51096k free, 66856k buffers
Swap: 524280k total, 0k used, 524280k free, 409324k cached
Kill PID 15273 with signal [15]:9
#提示輸入信號(hào),信號(hào)9代表強(qiáng)制中止
PID     USER PR NI VIRT  RES SHR S %CPU %MEM   TIME+ COMMAND
15273 daemon 20  0 4520 1192 580 S 0.0   0.2 0:00.00 httpd
…省略部分輸出…

接下來(lái) top 命令提示我們輸入信號(hào),信號(hào) 9 代表強(qiáng)制中止,這時(shí)就能夠強(qiáng)制中止 15273 進(jìn)程了。

【例 4】如果要改變某個(gè)進(jìn)程的優(yōu)先級(jí),就要利用 "r" 交互命令。需要注意的是,我們能夠修改的只有 Nice 的優(yōu)先級(jí),而不能修改 Priority 的優(yōu)先級(jí)。具體修改命令如下:

[root@localhost ~]# top -p 18977
top - 14:17:09 up 1 day, 15:22, 3 users, load average: 0.00,0.00, 0.00
Tasks: 97 total, 1 running, 96 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3%us, 0.0%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 625344k total, 574124k used, 51220k free, 66896k buffers
Swap: 524280k total, 0k used, 524280k free, 409324k cached
PID to renice:
#輸入"r"交互命令之后,提示輸入要修改優(yōu)先級(jí)的進(jìn)程的PID
PID   USER PR NI  VIRT  RES SHR  S %CPU %MEM   TIME+ COMMAND
18977 root 20 0  11592 3304 2572 S  0.0 0.5  0:04.37 sshd

輸入 "r" 交互命令,會(huì)提示輸入需要修改優(yōu)先級(jí)的進(jìn)程的 PID。例如,我們想要修改 18977 這個(gè) sshd 遠(yuǎn)程連接進(jìn)程的優(yōu)先級(jí),就輸入該進(jìn)程的 PID。命令如下:

Renice PID 18977 to value: 10
#輸入PID后,需要輸入Nice的優(yōu)先級(jí)號(hào)
#我們把18977進(jìn)程的優(yōu)先級(jí)調(diào)整為10,回車后就能看到
PID   USER PR NI  VIRT  RES SHR  S %CPU %MEM   TIME+ COMMAND
18977 root 30 10 11592 3304 2572 R  0.0 0.5  0:04.38 sshd
#18977進(jìn)程的優(yōu)先級(jí)已經(jīng)被修改了

 

【例 5】如果在操作終端執(zhí)行 top 命令,則并不能看到系統(tǒng)中所有的進(jìn)程,默認(rèn)看到的只是 CPU 占比靠前的進(jìn)程。如果我們想要看到所有的進(jìn)程,則可以把 top 命令的執(zhí)行結(jié)果重定向到文件中。不過(guò) top 命令是持續(xù)運(yùn)行的,這時(shí)就需要使用 "-b" 和 "-n" 選項(xiàng)了。具體命令如下:

[root@localhost ~]# top -b -n 1 > /root/top.log
#讓top命令只執(zhí)行一次,然后把執(zhí)行結(jié)果保存到top.log文件中,這樣就能看到所有的進(jìn)程了


當(dāng)前標(biāo)題:Linuxtop命令詳解:持續(xù)監(jiān)聽(tīng)進(jìn)程運(yùn)行狀態(tài)
瀏覽路徑:http://www.dlmjj.cn/article/djiegcj.html