新聞中心
在計(jì)算機(jī)操作系統(tǒng)中,時(shí)間是非常重要的資源。在操作系統(tǒng)中能看到的一項(xiàng)重要統(tǒng)計(jì)數(shù)據(jù)就是CPU時(shí)間。CPU時(shí)間可以被分為兩種:用戶CPU時(shí)間和系統(tǒng)CPU時(shí)間。用來幫助了解計(jì)算機(jī)如何處理指令和如何使用資源。CPU時(shí)間被用作系統(tǒng)級(jí)別的性能測量。

CPU本身并沒有固定的工作時(shí)間,但是在任何給定的時(shí)間,它都會(huì)有一些時(shí)間被放在于等待和空閑中。如果我們能夠監(jiān)視CPU的空閑時(shí)間,那么就可以確定計(jì)算機(jī)是否需要添加更多或減少資源。在本文中,我們將介紹如何通過Linux命令行檢查CPU的空閑時(shí)間。
Linux系統(tǒng)中的top命令
Linux系統(tǒng)中提供了一個(gè)名為top的命令,它可以實(shí)時(shí)地查看系統(tǒng)的運(yùn)行情況,包括CPU時(shí)間。通過top命令,可以輕松地看到每個(gè)進(jìn)程的CPU使用情況,以及系統(tǒng)中CPU空閑的時(shí)間。
以下是如何使用top命令檢查CPU空閑時(shí)間的步驟:
1. 打開終端窗口并輸入以下命令:
“`
top
“`
2. 在top命令的輸出中,查找以下行:
“`
%Cpu(s): x.x us, y.y sy, z.z ni, j.j id, k.k wa, l.l hi, m.m si, n.n st
“`
該行中以“id”為標(biāo)記的數(shù)字就是CPU的空閑時(shí)間。
3. 可以使用top命令的-i選項(xiàng)來將進(jìn)程id列添加到輸出列表中,以便更容易地檢查每個(gè)進(jìn)程的CPU使用情況。
“`
top -i
“`
以上步驟中,top命令的輸出可以根據(jù)需要定制,以顯示所需的信息。
使用mpstat命令檢查CPU空閑時(shí)間
除了使用top命令,還可以使用mpstat命令來獲取系統(tǒng)中CPU空閑時(shí)間的信息。mpstat命令用于監(jiān)視Linux多處理器系統(tǒng)的處理器活動(dòng)。它可以顯示系統(tǒng)上每個(gè)處理器的CPU時(shí)間。
以下是如何使用mpstat命令檢查CPU空閑時(shí)間的步驟:
1. 打開終端窗口并輸入以下命令:
“`
mpstat
“`
2. mpstat的輸出將包含每個(gè)處理器的統(tǒng)計(jì)信息。找到如下行:
“`
%idle
“`
該行中的數(shù)字就是CPU空閑時(shí)間的百分比。
3. 如果系統(tǒng)中有多個(gè)處理器,可以使用以下命令來顯示每個(gè)處理器的信息:
“`
mpstat -P ALL
“`
以上命令將顯示每個(gè)處理器的CPU利用率、執(zhí)行的進(jìn)程數(shù)以及空閑時(shí)間。
在Linux系統(tǒng)中,利用命令行可以輕松地檢查CPU的空閑時(shí)間。通過top命令和mpstat命令,可以獲取系統(tǒng)中CPU空閑時(shí)間的信息。這些命令提供了有價(jià)值的性能監(jiān)視工具,可幫助系統(tǒng)管理員識(shí)別資源限制問題并優(yōu)化系統(tǒng)性能。以便更好地使用計(jì)算機(jī)資源。
相關(guān)問題拓展閱讀:
- 如何1分鐘內(nèi)對(duì) Linux 性能快速分析(113資訊網(wǎng))
如何1分鐘內(nèi)對(duì) Linux 性能快速分析(113資訊網(wǎng))
當(dāng)你在IDC主機(jī)商購買一臺(tái)系統(tǒng)為 Linux 服務(wù)器之后,我想大家之一時(shí)間就是對(duì)主機(jī)進(jìn)行一個(gè)性能分析,這里我跟大家分享幾個(gè)命令,能讓大家在一分鐘以內(nèi)對(duì)自己的性能有一個(gè)大致的鳥解?
uptime
dmesg | tail
vmstat 1
mpstat -P ALL 1
pidstat 1
iostat -xz 1
free -m
sar -n DEV 1
sar -n TCP,ETCP 1
top
這10個(gè)命令到底是什么意思,我為大家一一解釋一下:
1.uptime
# uptime
03:16:26 up 21:31, 1 user, load average: 10.02, 06.43, 09.02
在上面的例子中,平均負(fù)載顯示是在不斷增加的,1 分鐘的值是 10,相比 15 分鐘的坦兄知值 09 來說是增加了。這個(gè)數(shù)字讓消這么大就意味著有事情發(fā)生了.
2. dmesg | tail
# dmesg | tail
ISO 9660 Extensions: RRIP_1991A
ISO 9660 Extensions: Microsoft Joliet Level 3
ISO 9660 Extensions: RRIP_1991A
EXT4-fs (vda1): resizing filesystem fromtoblocks
random: crng init done
random: 7 urandom warning(s) missed due to ratelimiting
EXT4-fs (vda1): resized filesystem to
new mount options do not match the existing superblock, will be ignored
ISO 9660 Extensions: Microsoft Joliet Level 3
ISO 9660 Extensions: RRIP_1991A
這里展示的是最近 10 條系統(tǒng)消息日志,如果系統(tǒng)消息沒有就不會(huì)展示。主要是看由于性能問題導(dǎo)致的錯(cuò)誤。
3. vmstat 1
# vmstat 1
procemoryswapio—- -systemcpu—–
r b swpd free buff cache si so bi bo in cs us sy id wa st
塵凱 0
^C
r: CPU 上的等待運(yùn)行的可運(yùn)行進(jìn)程數(shù)。這個(gè)指標(biāo)提供了判斷 CPU 飽和度的數(shù)據(jù),因?yàn)樗话?I/O 等待的進(jìn)程??山忉尀椋骸皉” 的值比 CPU 數(shù)大的時(shí)候就是飽和的。
free:空閑內(nèi)存,單位是 k。如果這個(gè)數(shù)比較大,就說明你還有充足的空閑內(nèi)存?!癴ree -m” 和下面第 7 個(gè)命令,可以更詳細(xì)的分析空閑內(nèi)存的狀態(tài)。
si,so:交換進(jìn)來和交換出去的數(shù)據(jù)量,如果這兩個(gè)值為非 0 值,那么就說明沒有內(nèi)存了。
us,sy,id,wa,st:這些是 CPU 時(shí)間的分解,是所有 CPU 的平均值。它們是用戶時(shí)間,系統(tǒng)時(shí)間(內(nèi)核),空閑,等待 I/O 時(shí)間,和被偷的時(shí)間(這里主要指其它的客戶,或者使用 Xen,這些客戶有自己獨(dú)立的操作域)。
4. mpstat -P ALL 1
# mpstat -P ALL 1
Linux 4.15.0-88-generic (VM-0-17-ubuntu) 06/15/2023 _x86_64_ (1 CPU)
03:33:26 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
03:33:27 AM all 0……….00
03:33:27 AM……….00
這個(gè)命令打印各個(gè) CPU 的時(shí)間統(tǒng)計(jì),可以看出整體 CPU 的使用是不是均衡的。由于我使用的是1H2G主機(jī)看不出區(qū)別!
5. pidstat 1
# pidstat 1
Linux 4.15.0-88-generic (VM-0-17-ubuntu) 06/15/2023 _x86_64_ (1 CPU)
03:34:47 AM UIDPID %usr %system %guest %wait %CPU CPU Command
03:34:48 AM…..sshd
pidstat 命令為每個(gè) CPU 統(tǒng)計(jì)信息功能。由于我使用的是1H2G主機(jī)看不出區(qū)別!
6. iostat -xz 1
# iostat -xz 1
Linux 4.15.0-88-generic (VM-0-17-ubuntu) 06/15/2023 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
……52
Devicer/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util
loop……00 0.00 0…00 0…00 0.00 0.00
scd0……00 0.00 0…00 0…00 0.19 0.00
vda0……99 0.00 32…31 0…96 0.24 0.11
avg-cpu: %user %nice %system %iowait %steal %idle
……00
Devicer/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util
r/s, w/s, rkB/s, wkB/s:這些表示設(shè)備上每秒鐘的讀寫次數(shù)和讀寫的字節(jié)數(shù)(單位是k字節(jié))。這些可以看出設(shè)備的負(fù)載情況。性能問題可能就是簡單的因?yàn)榇罅康奈募虞d請求。
await:I/O 等待的平均時(shí)間(單位是毫秒)。這是應(yīng)用程序所等待的時(shí)間,包含了等待隊(duì)列中的時(shí)間和被調(diào)度服務(wù)的時(shí)間。過大的平均等待時(shí)間就預(yù)示著設(shè)備超負(fù)荷了或者說設(shè)備有問題了。
avgqu-sz:設(shè)備上請求的平均數(shù)。數(shù)值大于 1 可能表示設(shè)備飽和了(雖然設(shè)備通常都是可以支持并行請求的,特別是在背后掛了多個(gè)磁盤的虛擬設(shè)備)。
%util:設(shè)備利用率。是使用率的百分?jǐn)?shù),展示每秒鐘設(shè)備工作的時(shí)間。這個(gè)數(shù)值大于 60% 則會(huì)導(dǎo)致性能很低(可以在 await 中看),當(dāng)然這也取決于設(shè)備特點(diǎn)。這個(gè)數(shù)值接近 100% 則表示設(shè)備飽和了。
7. free -m/h
ubuntu@VM-0-17-ubuntu:~# free -m
totalusedfree shared buff/cache available
Mem: 1506
Swap:
ubuntu@VM-0-17-ubuntu:~$ free -h
totalusedfree shared buff/cache available
Mem:.8GMM.8M.3G.5G
Swap:BBB
這個(gè)命令我相信大家都熟悉,buffers:用于塊設(shè)備 I/O 緩沖的緩存,cached:用于文件系統(tǒng)的頁緩存。
8. sar -n DEV 1
ubuntu@VM-0-17-ubuntu:~# sar -n DEV 1
Linux 4.15.0-88-generic (VM-0-17-ubuntu) 06/15/2023 _x86_64_ (1 CPU)
03:43:35 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil
03:43:36 AM eth……..00
03:43:36 AMlo……..00
使用這個(gè)工具是可以檢測網(wǎng)絡(luò)接口的吞吐:rxkB/s 和 txkB/s,作為收發(fā)數(shù)據(jù)負(fù)載的度量,也是檢測是否達(dá)到收發(fā)極限。在上面這個(gè)例子中,eth0 接收數(shù)據(jù)達(dá)到 0.79 kb 字節(jié)/秒,發(fā)送數(shù)據(jù)達(dá)到1.06 字節(jié)/秒。
9. sar -n TCP,ETCP 1
ubuntu@VM-0-17-ubuntu:~# sar -n TCP,ETCP 1
Linux 4.15.0-88-generic (VM-0-17-ubuntu) 06/15/2023 _x86_64_ (1 CPU)
03:49:56 AM active/s passive/s iseg/s oseg/s
03:49:57 AM….03
03:49:56 AM atmptf/s estres/s retrans/s isegerr/s orsts/s
03:49:57 AM…..00
這是對(duì) TCP 關(guān)鍵指標(biāo)的統(tǒng)計(jì),它包含了以下內(nèi)容:
active/s:每秒本地發(fā)起的 TCP 連接數(shù)(例如通過 connect() 發(fā)起的連接)。
passive/s:每秒遠(yuǎn)程發(fā)起的連接數(shù)(例如通過 accept() 接受的連接)。
retrans/s:每秒TCP重傳數(shù)。
10. top
ubuntu@VM-0-17-ubuntu:~# top
top – 03:53:20 up 1 day, 1:41, 1 user, load average: 0.01, 0.04, 0.00
Tasks: 89 total, 1 running, 52 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 :total,free,used,buff/cache
KiB Swap:total,free,used.avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
rootS 0.3 0.4 0:00.01 sshd
rootS 0.3 0.8 2:48.99 YDService
rootS 0.0 0.5 0:06.45 systemd
rootS 0.0 0.0 0:00.00 kthreadd
rootI 0.0 0.0 0:00.00 kworker/0:0H
rootI 0.0 0.0 0:00.00 mm_percpu_wq
rootS 0.0 0.0 0:04.29 ksoftirqd/
rootI 0.0 0.0 0:08.85 rcu_sched
rootI 0.0 0.0 0:00.00 rcu_bh
root rtS 0.0 0.0 0:00.00 migration/
root rtS 0.0 0.0 0:00.16 watchdog/
rootS 0.0 0.0 0:00.00 cpuhp/
rootS 0.0 0.0 0:00.00 kdevtmpfs
top 命令包含了很多我們前面提到的指標(biāo)。這個(gè)命令可以很容易看出指標(biāo)的變化表示負(fù)載的變化,這個(gè)看起來和前面的命令有很大不同。
top 的一個(gè)缺陷也比較明顯,很難看出變化趨勢,其它像 vmstat 和 pidstat 這樣的工具就會(huì)很清晰,它們是以滾動(dòng)的方式輸出統(tǒng)計(jì)信息。所以如果你在看到有問題的信息時(shí)沒有及時(shí)的暫停下來(Ctrl-S 是暫停, Ctrl-Q 是繼續(xù)),那么這些有用的信息就會(huì)被清屏。
文章原文:
linux cpu idle的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux cpu idle,如何使用Linux檢查CPU空閑時(shí)間,如何1分鐘內(nèi)對(duì) Linux 性能快速分析(113資訊網(wǎng))的信息別忘了在本站進(jìn)行查找喔。
成都創(chuàng)新互聯(lián)科技有限公司,是一家專注于互聯(lián)網(wǎng)、IDC服務(wù)、應(yīng)用軟件開發(fā)、網(wǎng)站建設(shè)推廣的公司,為客戶提供互聯(lián)網(wǎng)基礎(chǔ)服務(wù)!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價(jià)格厚道的香港/美國云服務(wù)器和獨(dú)立服務(wù)器。創(chuàng)新互聯(lián)——四川成都IDC機(jī)房服務(wù)器托管/機(jī)柜租用。為您精選優(yōu)質(zhì)idc數(shù)據(jù)中心機(jī)房租用、服務(wù)器托管、機(jī)柜租賃、大帶寬租用,高電服務(wù)器托管,算力服務(wù)器租用,可選線路電信、移動(dòng)、聯(lián)通機(jī)房等。
分享名稱:如何使用Linux檢查CPU空閑時(shí)間(linuxcpuidle)
URL鏈接:http://m.fisionsoft.com.cn/article/dpddjes.html


咨詢
建站咨詢
