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

CPU本身并沒有固定的工作時間,但是在任何給定的時間,它都會有一些時間被放在于等待和空閑中。如果我們能夠監(jiān)視CPU的空閑時間,那么就可以確定計算機是否需要添加更多或減少資源。在本文中,我們將介紹如何通過Linux命令行檢查CPU的空閑時間。
Linux系統中的top命令
Linux系統中提供了一個名為top的命令,它可以實時地查看系統的運行情況,包括CPU時間。通過top命令,可以輕松地看到每個進程的CPU使用情況,以及系統中CPU空閑的時間。
以下是如何使用top命令檢查CPU空閑時間的步驟:
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”為標記的數字就是CPU的空閑時間。
3. 可以使用top命令的-i選項來將進程id列添加到輸出列表中,以便更容易地檢查每個進程的CPU使用情況。
“`
top -i
“`
以上步驟中,top命令的輸出可以根據需要定制,以顯示所需的信息。
使用mpstat命令檢查CPU空閑時間
除了使用top命令,還可以使用mpstat命令來獲取系統中CPU空閑時間的信息。mpstat命令用于監(jiān)視Linux多處理器系統的處理器活動。它可以顯示系統上每個處理器的CPU時間。
以下是如何使用mpstat命令檢查CPU空閑時間的步驟:
1. 打開終端窗口并輸入以下命令:
“`
mpstat
“`
2. mpstat的輸出將包含每個處理器的統計信息。找到如下行:
“`
%idle
“`
該行中的數字就是CPU空閑時間的百分比。
3. 如果系統中有多個處理器,可以使用以下命令來顯示每個處理器的信息:
“`
mpstat -P ALL
“`
以上命令將顯示每個處理器的CPU利用率、執(zhí)行的進程數以及空閑時間。
在Linux系統中,利用命令行可以輕松地檢查CPU的空閑時間。通過top命令和mpstat命令,可以獲取系統中CPU空閑時間的信息。這些命令提供了有價值的性能監(jiān)視工具,可幫助系統管理員識別資源限制問題并優(yōu)化系統性能。以便更好地使用計算機資源。
相關問題拓展閱讀:
- 如何1分鐘內對 Linux 性能快速分析(113資訊網)
如何1分鐘內對 Linux 性能快速分析(113資訊網)
當你在IDC主機商購買一臺系統為 Linux 服務器之后,我想大家之一時間就是對主機進行一個性能分析,這里我跟大家分享幾個命令,能讓大家在一分鐘以內對自己的性能有一個大致的鳥解?
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個命令到底是什么意思,我為大家一一解釋一下:
1.uptime
# uptime
03:16:26 up 21:31, 1 user, load average: 10.02, 06.43, 09.02
在上面的例子中,平均負載顯示是在不斷增加的,1 分鐘的值是 10,相比 15 分鐘的坦兄知值 09 來說是增加了。這個數字讓消這么大就意味著有事情發(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 條系統消息日志,如果系統消息沒有就不會展示。主要是看由于性能問題導致的錯誤。
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 上的等待運行的可運行進程數。這個指標提供了判斷 CPU 飽和度的數據,因為它不包含 I/O 等待的進程??山忉尀椋骸皉” 的值比 CPU 數大的時候就是飽和的。
free:空閑內存,單位是 k。如果這個數比較大,就說明你還有充足的空閑內存?!癴ree -m” 和下面第 7 個命令,可以更詳細的分析空閑內存的狀態(tài)。
si,so:交換進來和交換出去的數據量,如果這兩個值為非 0 值,那么就說明沒有內存了。
us,sy,id,wa,st:這些是 CPU 時間的分解,是所有 CPU 的平均值。它們是用戶時間,系統時間(內核),空閑,等待 I/O 時間,和被偷的時間(這里主要指其它的客戶,或者使用 Xen,這些客戶有自己獨立的操作域)。
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
這個命令打印各個 CPU 的時間統計,可以看出整體 CPU 的使用是不是均衡的。由于我使用的是1H2G主機看不出區(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 命令為每個 CPU 統計信息功能。由于我使用的是1H2G主機看不出區(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:這些表示設備上每秒鐘的讀寫次數和讀寫的字節(jié)數(單位是k字節(jié))。這些可以看出設備的負載情況。性能問題可能就是簡單的因為大量的文件加載請求。
await:I/O 等待的平均時間(單位是毫秒)。這是應用程序所等待的時間,包含了等待隊列中的時間和被調度服務的時間。過大的平均等待時間就預示著設備超負荷了或者說設備有問題了。
avgqu-sz:設備上請求的平均數。數值大于 1 可能表示設備飽和了(雖然設備通常都是可以支持并行請求的,特別是在背后掛了多個磁盤的虛擬設備)。
%util:設備利用率。是使用率的百分數,展示每秒鐘設備工作的時間。這個數值大于 60% 則會導致性能很低(可以在 await 中看),當然這也取決于設備特點。這個數值接近 100% 則表示設備飽和了。
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
這個命令我相信大家都熟悉,buffers:用于塊設備 I/O 緩沖的緩存,cached:用于文件系統的頁緩存。
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
使用這個工具是可以檢測網絡接口的吞吐:rxkB/s 和 txkB/s,作為收發(fā)數據負載的度量,也是檢測是否達到收發(fā)極限。在上面這個例子中,eth0 接收數據達到 0.79 kb 字節(jié)/秒,發(fā)送數據達到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
這是對 TCP 關鍵指標的統計,它包含了以下內容:
active/s:每秒本地發(fā)起的 TCP 連接數(例如通過 connect() 發(fā)起的連接)。
passive/s:每秒遠程發(fā)起的連接數(例如通過 accept() 接受的連接)。
retrans/s:每秒TCP重傳數。
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 命令包含了很多我們前面提到的指標。這個命令可以很容易看出指標的變化表示負載的變化,這個看起來和前面的命令有很大不同。
top 的一個缺陷也比較明顯,很難看出變化趨勢,其它像 vmstat 和 pidstat 這樣的工具就會很清晰,它們是以滾動的方式輸出統計信息。所以如果你在看到有問題的信息時沒有及時的暫停下來(Ctrl-S 是暫停, Ctrl-Q 是繼續(xù)),那么這些有用的信息就會被清屏。
文章原文:
linux cpu idle的介紹就聊到這里吧,感謝你花時間閱讀本站內容,更多關于linux cpu idle,如何使用Linux檢查CPU空閑時間,如何1分鐘內對 Linux 性能快速分析(113資訊網)的信息別忘了在本站進行查找喔。
成都創(chuàng)新互聯科技有限公司,是一家專注于互聯網、IDC服務、應用軟件開發(fā)、網站建設推廣的公司,為客戶提供互聯網基礎服務!
創(chuàng)新互聯(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務器和獨立服務器。創(chuàng)新互聯——四川成都IDC機房服務器托管/機柜租用。為您精選優(yōu)質idc數據中心機房租用、服務器托管、機柜租賃、大帶寬租用,高電服務器托管,算力服務器租用,可選線路電信、移動、聯通機房等。
分享題目:如何使用Linux檢查CPU空閑時間(linuxcpuidle)
文章分享:http://www.5511xx.com/article/dpddjes.html


咨詢
建站咨詢
