Linux查看系統(tǒng)負(fù)載的方法-創(chuàng)新互聯(lián)

這篇文章主要介紹Linux查看系統(tǒng)負(fù)載的方法,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

成都網(wǎng)絡(luò)公司-成都網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站10年經(jīng)驗(yàn)成就非凡,專(zhuān)業(yè)從事成都做網(wǎng)站、成都網(wǎng)站制作,成都網(wǎng)頁(yè)設(shè)計(jì),成都網(wǎng)頁(yè)制作,軟文發(fā)稿,1元廣告等。10年來(lái)已成功提供全面的成都網(wǎng)站建設(shè)方案,打造行業(yè)特色的成都網(wǎng)站建設(shè)案例,建站熱線:18982081108,我們期待您的來(lái)電!

操作系統(tǒng)的負(fù)載狀態(tài),反映了應(yīng)用程序的資源使用情況,從中能找出應(yīng)用程序優(yōu)化的瓶頸所在。

系統(tǒng)平均負(fù)載,是指處于運(yùn)行或不可打擾狀態(tài)的進(jìn)程的平均數(shù)。\

處于運(yùn)行,表示運(yùn)行態(tài),占用 CPU,或就緒態(tài),等待 CPU 調(diào)度。\

不可打擾,表示阻塞,正在等待 I/O

在 Linux 系統(tǒng)中,要查看負(fù)載情況一般使用 uptime 命令(w 命令和 top 命令也行)*

一、uptime 命令

$ uptime\
16:33:56 up 69 days,  5:10,  1 user,  load average: 0.14, 0.24, 0.29

以上信息的解析如下:

16:33:56 : 當(dāng)前時(shí)間

up 69 days, 5:10 : 系統(tǒng)運(yùn)行了 69 天 5 小時(shí) 10 分

1 user : 當(dāng)前有 1 個(gè)用戶(hù)登錄了系統(tǒng) load average: 0.14, 0.24, 0.29 : 系統(tǒng)在過(guò)去 1 分鐘內(nèi),5 分鐘內(nèi),15 分鐘內(nèi)的平均負(fù)載

load average: 0.14, 0.24, 0.29 : 系統(tǒng)在過(guò)去 1 分鐘內(nèi),5 分鐘內(nèi),15 分鐘內(nèi)的平均負(fù)載

平均負(fù)載解析

查看邏輯 CPU 核心數(shù):

$ grep 'model name' /proc/cpuinfo | wc -l\
1\

運(yùn)行結(jié)果表示,有 1 個(gè)邏輯 CPU 核心。以 1 個(gè) CPU 核心為例,假設(shè) CPU 每分鐘最多處理 100 個(gè)進(jìn)程 –

load=0,沒(méi)有進(jìn)程需要 CPU

load=0.5,CPU 處理了 50 個(gè)進(jìn)程

load=1, CPU 處理了 100 個(gè)進(jìn)程,這時(shí) CPU 已被占滿,但系統(tǒng)還是能順暢運(yùn)作的

load=1.5, CPU 處理了 100 個(gè)進(jìn)程,還有 50 個(gè)進(jìn)程正在排除等著 CPU 處理,這時(shí),CPU 已經(jīng)超負(fù)荷工作了

為了系統(tǒng)順暢運(yùn)行,load 值最好不要超過(guò) 1.0,這樣就沒(méi)有進(jìn)程需要等待了,所有進(jìn)程都能第一時(shí)間得到處理。\

很顯然,1.0 是一個(gè)關(guān)鍵值,超過(guò)這個(gè)值,系統(tǒng)就不在最佳狀態(tài)了。 一般 0.7 是一個(gè)比較理想的值。\

另外,load 值的健康狀態(tài)還跟系統(tǒng) CPU 核心數(shù)相關(guān),如果 CPU 核心數(shù)為 2,那么 load 值健康值應(yīng)該為 2,以此類(lèi)推。 \

評(píng)價(jià)系統(tǒng)的負(fù)載一般采用 15 分鐘內(nèi)的那個(gè)平均負(fù)載值。

二、w 命令

$ w\
 17:47:40 up 69 days,  6:24,  1 user,  load average: 0.46, 0.26, 0.25\
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT\
lvinkim  pts/0    14.18.144.2      15:55    0.00s  0.02s  0.00s w

第 1 行:與 uptime 一相同。 \

第 2 行以下,當(dāng)前登錄用戶(hù)的列表。

三、top 命令

$ top\
top - 17:51:23 up 69 days,  6:28,  1 user,  load average: 0.31, 0.30, 0.26\
Tasks:  99 total,   1 running,  98 sleeping,   0 stopped,   0 zombie\
Cpu(s):  2.3%us,  0.2%sy,  0.0%ni, 97.4%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st\
Mem:   1922244k total,  1737480k used,   184764k free,   208576k buffers\
Swap:        0k total,        0k used,        0k free,   466732k cached\
\
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                \
    1 root      20   0 19232 1004  708 S  0.0  0.1   0:01.17 init                                                                    \
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.01 kthreadd                                                                \
...

第 1 行:與 uptime 一相同。

第 2 行:進(jìn)程數(shù)信息。

Tasks: 99 total : 總共有 99 個(gè)進(jìn)程

1 running : 1 個(gè)進(jìn)程正在占用 CPU

98 sleeping : 98 個(gè)睡眠進(jìn)程

0 stopped : 0 個(gè)停止的進(jìn)程

0 zombie : 0 個(gè)僵尸進(jìn)程

第 3 行 : CPU 使用率

us (user): 非 nice 用戶(hù)進(jìn)程占用 CPU 的比率

sy (system): 內(nèi)核、內(nèi)核進(jìn)程占用 CPU 的比率

ni (nice): 用戶(hù)進(jìn)程空間內(nèi)改變過(guò)優(yōu)先級(jí)的進(jìn)程占用 CPU 比率

id (idle): CPU 空閑比率,如果系統(tǒng)緩慢而這個(gè)值很高,說(shuō)明系統(tǒng)慢的原因不是 CPU 負(fù)載高

wa (iowait): CPU 等待執(zhí)行 I/O 操作的時(shí)間比率,該指標(biāo)可以用來(lái)排查磁盤(pán) I/O 的問(wèn)題,通常結(jié)合 wa 和 id 判斷

hi (Hardware IRQ): CPU 處理硬件中斷所占時(shí)間的比率

si (Software Interrupts): CPU 處理軟件中斷所占時(shí)間的比率

st (steal): 流逝的時(shí)間,虛擬機(jī)中的其他任務(wù)所占 CPU 時(shí)間的比率

需要注意的一些情形:

用戶(hù)進(jìn)程 us 占比高,I/O 操作 wa 低:說(shuō)明系統(tǒng)緩慢的原因在于進(jìn)程占用大量 CPU,通常還會(huì)伴有教低的空閑比率 id,說(shuō)明 CPU 空轉(zhuǎn)時(shí)間很少。

I/O 操作 wa 低,空閑比率 id 高:可以排除 CPU 資源瓶頸的可能。

I/O 操作 wa 高:說(shuō)明 I/O 占用了大量的 CPU 時(shí)間,需要檢查交換空間的使用,交換空間位于磁盤(pán)上,性能遠(yuǎn)低于內(nèi)存,當(dāng)內(nèi)存耗盡開(kāi)始使用交換空間時(shí),將會(huì)給性能帶來(lái)嚴(yán)重影響,所以對(duì)于性能要求較高的服務(wù)器,一般建議關(guān)閉交換空間。另一方面,如果內(nèi)存充足,但 wa 很高,說(shuō)明需要檢查哪個(gè)進(jìn)程占用了大量的 I/O 資源。

更多負(fù)載情形,可在實(shí)際中靈活判斷。

四、iostat 命令

iostat 命令可以查看系統(tǒng)分區(qū)的 IO 使用情況

$ iostat \
Linux 2.6.32-573.22.1.el6.x86_64 (sgs02)   01/20/2017     _x86_64_   (1 CPU)\
\
avg-cpu:  %user   %nice %system %iowait  %steal   %idle\
           2.29    0.00    0.25    0.04    0.00   97.41\
\
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn\
vda               1.15         3.48        21.88   21016084  131997520

一些值得注意的 IO 指標(biāo) :

Device : 磁盤(pán)名稱(chēng)

tps : 每秒 I/O 傳輸請(qǐng)求量

Blk_read/s : 每秒讀取多少塊,查看塊大小可參考命令 tune2fs

Blk_wrtn/s : 每秒寫(xiě)取多少塊

Blk_read : 一共讀了多少塊

–Blk_wrtn : 一共寫(xiě)了多少塊

五、iotop 命令

iotop 命令類(lèi)似于 top 命令,但是顯示的是各個(gè)進(jìn)程的 I/O 情況,對(duì)于定位 I/O 操作較重的進(jìn)程有比較大的作用。\

# iotop\
Total DISK READ: 0.00 B/s | Total DISK WRITE: 774.52 K/s\
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                                \
  272 be/3 root        0.00 B/s    0.00 B/s  0.00 %  4.86 % [jbd2/vda1-8]\
 9072 be/4 mysql       0.00 B/s  268.71 K/s  0.00 %  0.00 % mysqld\
 5058 be/4 lvinkim     0.00 B/s    3.95 K/s  0.00 %  0.00 % php-fpm: pool www\
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % init

可以看到不同任務(wù)的讀寫(xiě)強(qiáng)度。

六、sysstat 工具

很多時(shí)候當(dāng)檢測(cè)到或者知道歷史的高負(fù)載狀況時(shí),可能需要回放歷史監(jiān)控?cái)?shù)據(jù),這時(shí) sar 命令就派上用場(chǎng)了,sar 命令同樣來(lái)自 sysstat 工具包,可以記錄系統(tǒng)的 CPU 負(fù)載、I/O 狀況和內(nèi)存使用記錄,便于歷史數(shù)據(jù)的回放。

sysstat 的配置文件在 /etc/sysconfig/sysstat 文件,歷史日志的存放位置為 /var/log/sa\

統(tǒng)計(jì)信息都是每 10 分鐘記錄一次,每天的 23:59 會(huì)分割統(tǒng)計(jì)文件,這些操作的頻率都在 /etc/cron.d/sysstat 文件配置。\

七、sar 命令

使用 sar 命令查看當(dāng)天 CPU 使用:

$ sar\
Linux 2.6.32-431.23.3.el6.x86_64 (szs01)   01/20/2017     _x86_64_   (1 CPU)\
\
10:50:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle\
11:00:01 AM     all      0.45      0.00      0.22      0.40      0.00     98.93\
Average:        all      0.45      0.00      0.22      0.40      0.00     98.93

使用 sar 命令查看當(dāng)天內(nèi)存使用:

$ sar -r\
Linux 2.6.32-431.23.3.el6.x86_64 (szs01)   01/20/2017     _x86_64_   (1 CPU)\
\
10:50:01 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit\
11:00:01 AM     41292    459180     91.75     44072    164620    822392    164.32\
Average:        41292    459180     91.75     44072    164620    822392    164.32

使用 sar 命令查看當(dāng)天 IO 統(tǒng)計(jì)記錄:

$ sar -b\
Linux 2.6.32-431.23.3.el6.x86_64 (szs01)   01/20/2017     _x86_64_   (1 CPU)\
\
10:50:01 AM       tps      rtps      wtps   bread/s   bwrtn/s\
11:00:01 AM      3.31      2.14      1.17     37.18     16.84\
Average:         3.31      2.14      1.17     37.18     16.84

以上是Linux查看系統(tǒng)負(fù)載的方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

名稱(chēng)欄目:Linux查看系統(tǒng)負(fù)載的方法-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)URL:http://muchs.cn/article24/idije.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、企業(yè)建站網(wǎng)站排名、ChatGPT、靜態(tài)網(wǎng)站、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名