首頁 運維 linux運維 Linux如何查看系統負載

Linux如何查看系統負載

Aug 02, 2019 pm 05:27 PM
linux

Linux如何查看系統負載

作業系統的負載狀態,反映了應用程式的資源使用情況,從中能找出應用程式最佳化的瓶頸所在。

系統平均負載,是指處於運作或不可打擾狀態的行程的平均數。 \

處於運行,表示運行態,佔用 CPU,或就緒態,等待 CPU 調度。 \

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

#推薦:【linux影片教學

在Linux 系統中,要查看負載情況一般使用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 : 目前時間

up 69 days, 5:10 : 系統運行了69 天5 小時10 分

1 user : 目前有1 個使用者登入了系統load average: 0.14, 0.24, 0.29 : 系統在過去1 分鐘內,5 分鐘內,15 分鐘內的平均負載

#load average: 0.14, 0.24, 0.29 : 系統在過去1 分鐘內,5 分鐘內,15 分鐘內的平均負載

平均負載解析

查看邏輯CPU 核心數:

$ grep 'model name' /proc/cpuinfo | wc -l\
1\
登入後複製

運行結果表示,有1 個邏輯CPU 核心。以1 個CPU 核心為例,假設CPU 每分鐘最多處理100 個進程–

load=0,沒有進程需要CPU

load=0.5,CPU 處理了50 個進程

load=1, CPU 處理了100 個進程,這時CPU 已被佔滿,但係統還是能順暢運作的

load=1.5, CPU 處理了100 個進程,還有50個進程正在排除等著CPU 處理,這時,CPU 已經超負荷工作了

為了系統順暢運行,load 值最好不要超過1.0,這樣就沒有進程需要等待了,所有進程都能第一時間得到處理。 \

很顯然,1.0 是關鍵值,超過這個值,系統就不在最佳狀態了。一般 0.7 是比較理想的值。 \

另外,load 值的健康狀態也跟系統 CPU 核心數相關,如果 CPU 核心數為 2,那麼 load 值健康值應該為 2,以此類推。 \

評估系統的負載一般採用 15 分鐘內的那個平均負荷值。

二、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 行以下,目前登入使用者的清單。

三、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 行:進程數資訊。

Tasks: 99 total : 總共有99 個行程

1 running : 1 個行程正在佔用CPU

98 sleeping : 98 個睡眠行程

0 stopped : 0 個停止的程序

0 zombie : 0 個殭屍程序

第3 行: CPU 使用率

us (user): 非nice 使用者程序佔用CPU 的比率

sy (system): 核心、核心處理佔用CPU 的比率

ni (nice): 使用者行程空間內改變過優先權的行程佔用CPU 比率

#id ​​(idle): CPU 閒置比率,如果系統緩慢而這個值很高,表示系統慢的原因不是CPU 負載高

wa (iowait): CPU 等待執行I/O 操作的時間比率,此指標可以用來排查磁碟I/O 的問題,通常會結合wa 和id 判斷

hi (Hardware IRQ): CPU 處理硬體中斷所佔時間的比率

si (Software Interrupts): CPU 處理軟體中斷所佔時間的比率

st (steal): 流逝的時間,虛擬機器中的其他任務所佔CPU 時間的比率

需要注意的一些情形:

使用者進程us 佔比高,I/O 操作wa 低:說明系統緩慢的原因在於進程佔用大量CPU,通常還會伴隨教低的空閒比率id,說明CPU 空閒時間很少。

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

I/O 操作wa 高:說明I/O 佔用了大量的CPU 時間,需要檢查交換空間的使用,交換空間位於磁碟上,效能遠低於內存,當記憶體耗盡開始使用交換空間時,將會為效能帶來嚴重影響,所以對於效能要求較高的伺服器,一般建議關閉交換空間。另一方面,如果記憶體充足,但 wa 很高,表示需要檢查哪個進程佔用了大量的 I/O 資源。

更多負載情形,可在實際中靈活判斷。

四、iostat 指令

iostat 指令可以查看系統分割區的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 指標:

Device : 磁碟名稱

tps : 每秒I/O 傳輸請求量

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

##Blk_wrtn/s :每秒寫取多少塊

Blk_read : 一共讀了多少塊

–Blk_wrtn : 總共寫了多少塊

五、iotop 指令

iotop指令類似top 指令,但顯示的是各個行程的I/O 情況,對於定位I/O 操作較重的進程有比較大的作用。 \

# 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
登入後複製

可以看到不同任務的讀寫強度。

六、sysstat 工具

很多时候当检测到或者知道历史的高负载状况时,可能需要回放历史监控数据,这时 sar 命令就派上用场了,sar 命令同样来自 sysstat 工具包,可以记录系统的 CPU 负载、I/O 状况和内存使用记录,便于历史数据的回放。

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

统计信息都是每 10 分钟记录一次,每天的 23:59 会分割统计文件,这些操作的频率都在 /etc/cron.d/sysstat 文件配置。\

七、sar 命令

使用 sar 命令查看当天 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 命令查看当天内存使用:

$ 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 命令查看当天 IO 统计记录:

$ 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
登入後複製

更多 sar 用法,请 man sar 。

以上是Linux如何查看系統負載的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

centos和ubuntu的區別 centos和ubuntu的區別 Apr 14, 2025 pm 09:09 PM

CentOS 和 Ubuntu 的關鍵差異在於:起源(CentOS 源自 Red Hat,面向企業;Ubuntu 源自 Debian,面向個人)、包管理(CentOS 使用 yum,注重穩定;Ubuntu 使用 apt,更新頻率高)、支持週期(CentOS 提供 10 年支持,Ubuntu 提供 5 年 LTS 支持)、社區支持(CentOS 側重穩定,Ubuntu 提供廣泛教程和文檔)、用途(CentOS 偏向服務器,Ubuntu 適用於服務器和桌面),其他差異包括安裝精簡度(CentOS 精

centos如何安裝 centos如何安裝 Apr 14, 2025 pm 09:03 PM

CentOS 安裝步驟:下載 ISO 映像並刻錄可引導媒體;啟動並選擇安裝源;選擇語言和鍵盤佈局;配置網絡;分區硬盤;設置系統時鐘;創建 root 用戶;選擇軟件包;開始安裝;安裝完成後重啟並從硬盤啟動。

Centos停止維護2024 Centos停止維護2024 Apr 14, 2025 pm 08:39 PM

CentOS將於2024年停止維護,原因是其上游發行版RHEL 8已停止維護。該停更將影響CentOS 8系統,使其無法繼續接收更新。用戶應規劃遷移,建議選項包括CentOS Stream、AlmaLinux和Rocky Linux,以保持系統安全和穩定。

docker原理詳解 docker原理詳解 Apr 14, 2025 pm 11:57 PM

Docker利用Linux內核特性,提供高效、隔離的應用運行環境。其工作原理如下:1. 鏡像作為只讀模板,包含運行應用所需的一切;2. 聯合文件系統(UnionFS)層疊多個文件系統,只存儲差異部分,節省空間並加快速度;3. 守護進程管理鏡像和容器,客戶端用於交互;4. Namespaces和cgroups實現容器隔離和資源限制;5. 多種網絡模式支持容器互聯。理解這些核心概念,才能更好地利用Docker。

Centos停止維護後的選擇 Centos停止維護後的選擇 Apr 14, 2025 pm 08:51 PM

CentOS 已停止維護,替代選擇包括:1. Rocky Linux(兼容性最佳);2. AlmaLinux(與 CentOS 兼容);3. Ubuntu Server(需要配置);4. Red Hat Enterprise Linux(商業版,付費許可);5. Oracle Linux(與 CentOS 和 RHEL 兼容)。在遷移時,考慮因素有:兼容性、可用性、支持、成本和社區支持。

centos停止維護後怎麼辦 centos停止維護後怎麼辦 Apr 14, 2025 pm 08:48 PM

CentOS 停止維護後,用戶可以採取以下措施應對:選擇兼容髮行版:如 AlmaLinux、Rocky Linux、CentOS Stream。遷移到商業發行版:如 Red Hat Enterprise Linux、Oracle Linux。升級到 CentOS 9 Stream:滾動發行版,提供最新技術。選擇其他 Linux 發行版:如 Ubuntu、Debian。評估容器、虛擬機或云平台等其他選項。

docker desktop怎麼用 docker desktop怎麼用 Apr 15, 2025 am 11:45 AM

如何使用 Docker Desktop? Docker Desktop 是一款工具,用於在本地機器上運行 Docker 容器。其使用步驟包括:1. 安裝 Docker Desktop;2. 啟動 Docker Desktop;3. 創建 Docker 鏡像(使用 Dockerfile);4. 構建 Docker 鏡像(使用 docker build);5. 運行 Docker 容器(使用 docker run)。

vscode需要什麼電腦配置 vscode需要什麼電腦配置 Apr 15, 2025 pm 09:48 PM

VS Code 系統要求:操作系統:Windows 10 及以上、macOS 10.12 及以上、Linux 發行版處理器:最低 1.6 GHz,推薦 2.0 GHz 及以上內存:最低 512 MB,推薦 4 GB 及以上存儲空間:最低 250 MB,推薦 1 GB 及以上其他要求:穩定網絡連接,Xorg/Wayland(Linux)

See all articles