日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Linux實例負載高問題排查和異常處理

本文檔介紹Linux云服務器負載高導致ECS實例運行變慢、自動關機或重啟、無法登錄等異常問題的排查方法和解決方案。

問題描述

在您使用ECS實例過程中,可能會遇到實例系統負載較高的情況,負載過高,可能會引發一系列異常問題,簡單說明如下:

  • CPU使用率或負載過高:一般來說,當CPU使用率≥80%時,定義為CPU使用率過高。CPU使用率持續過高,可能會導致實例運行速度變慢,自動關機或重啟、無法登錄等問題。

  • 帶寬使用率過高:一般來說,帶寬使用率≥當前帶寬80%時,定義為帶寬使用率過高。帶寬使用率持續過高,將影響實例的網絡連通性或網絡吞吐,例如實例無法遠程連接、網速過慢等。

  • 內存使用率過高:一般來說,當內存使用率≥80%時,定義為內存使用率過高。內存使用率過高,可能會出現系統卡頓、內部服務響應速度變慢等問題。

  • I/O使用率過高:一般來說,當前I/O讀寫≥該云盤I/O的80%時,定義為I/O使用率過高。I/O使用率過高,可能會出現文件讀寫變慢、應用性能下降或報錯等問題。

問題排查

您可以使用SAR工具或htop工具定位該實例的負載過高及各資源的使用情況。

使用sar工具查看實例各資源使用情況

sar是System Activity Reporter(系統活動情況報告)的縮寫,sar工具對系統狀態進行取樣后,通過計算數據和比例來表達系統當前的運行狀態。其特點是可以連續對系統取樣,獲得大量的取樣數據。其取樣數據和分析結果可以存入文件,所需的負載很小。

sar是Linux系統中較為全面的性能分析工具,可以從多個方面對系統的活動進行監控和報告,包括文件讀寫情況、系統調用使用情況、串口、CPU效率、內存使用情況、進程活動及IPC(Inter-Process Communication,進程間通信)等。

安裝sar工具

如果您的ECS實例中默認未安裝sar工具,可參考如下步驟進行安裝。

  1. 使用VNC連接Linux系統的ECS實例。

    具體操作,請參見使用VNC登錄實例。

  2. 執行如下命令,安裝sar工具。

    yum install sysstat
  3. 執行如下命令,啟動sysstat服務。

    systemctl start sysstat
  4. 執行如下命令,查看sysstat服務狀態。

    systemctl status sysstat

    當返回系統中出現Active: active (exited)表示sysstat服務已啟動。

查看CPU使用率

執行如下命令,查看CPU負載。

sar -u 1 5   #每隔一秒刷新,刷新5次

系統顯示類似如下。

Linux 3.10.0-123.9.3.el7.x8664 (iZ23pddtofdZ)     07/04/2016     _x86_64    (1 CPU)
10:16:35 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
10:16:36 AM     all     14.14      0.00      1.01      0.00      0.00     84.85
10:16:37 AM     all     14.14      0.00      0.00      1.01      0.00     84.85
10:16:38 AM     all      0.00      0.00      1.01      0.00      0.00     98.99
10:16:39 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
10:16:40 AM     all      1.00      0.00      0.00      0.00      0.00     99.00
Average:        all      5.86      0.00      0.40      0.20      0.00     93.54

顯示結果主要字段說明

  • %user:用戶模式下消耗的CPU時間比例。

  • %nice:通過nice改變了進程調度優先級的進程,在用戶模式下消耗的CPU時間比例。

  • %system:系統模式下消耗的CPU時間比例。

  • %iowait:CPU等待磁盤I/O導致空閑狀態消耗的時間比例。

  • %steal:利用Xen等操作系統虛擬化技術,等待其它虛擬CPU計算占用的時間比例。

  • %idle:CPU空閑時間百分比。

查看隊列長度和CPU平均負載

執行如下命令,查看隊列長度和CPU平均負載。

sar -q 1 10    #每隔一秒刷新,刷新10次

系統顯示類似如下。

Linux 3.10.0-123.9.3.el7.x8664 (iZ23pddtofdZ)     07/04/2016     _x86_64    (1 CPU)
10:23:13 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
10:23:14 AM         0       142      0.00      0.01      0.05         0
10:23:15 AM         0       142      0.00      0.01      0.05         0
10:23:16 AM         0       142      0.00      0.01      0.05         0
10:23:17 AM         0       142      0.00      0.01      0.05         0
10:23:18 AM         0       142      0.00      0.01      0.05         0
10:23:19 AM         0       142      0.00      0.01      0.05         0
Average:            0       142      0.00      0.01      0.05         0

顯示結果主要字段說明

  • runq-sz:運行隊列的長度,即等待運行的進程數。

  • plist-sz:進程列表中進程(processes)和線程(threads)的數量。

  • ldavg-1:最后1分鐘的系統平均負載。

  • ldavg-5:最后5分鐘的系統平均負載。

  • ldavg-15:最后15分鐘的系統平均負載。

查看磁盤使用情況

執行如下命令,查看磁盤讀寫負載情況。

sar -d 1 3    #每隔一秒刷新,刷新3次

系統顯示類似如下。

Linux 5.10.134-13.al8.x86_64 (iZ2zegjvrdtgifd77gadyqZ)  03/09/2023      _x86_64_        (8 CPU)

02:41:04 PM       DEV       tps     rkB/s     wkB/s   areq-sz    aqu-sz     await     svctm     %util
02:41:05 PM  dev253-0      1.00      0.00      4.00      4.00      0.00      0.00      1.00      0.10
02:41:06 PM  dev253-0      1.00      0.00      4.00      4.00      0.00      1.00      1.00      0.10
02:41:07 PM  dev253-0      1.00      0.00      4.00      4.00      0.00      0.00      2.00      0.20
02:41:08 PM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:41:09 PM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:     dev253-0      0.60      0.00      2.40      4.00      0.00      0.33      1.33      0.08

顯示結果主要字段說明

  • tps:每秒I/O的傳輸總數。

  • rd_sec/s:每秒讀取的扇區的次數。

  • wr_sec/s:每秒寫入的扇區的次數。

  • avgrq-sz:平均每次磁盤I/O操作的扇區大小。

  • avgqu-sz:磁盤請求隊列的平均長度。

  • await:從請求磁盤操作到系統完成處理,每次請求的平均消耗時間,包括請求隊列等待時間。

  • svctm:系統處理每次請求的平均時間。

  • %util:I/O請求占用的CPU百分比,值越高,說明I/O越慢。

查看內存負載

執行如下命令,查看內存負載。

sar -r 1 3    #每隔一秒刷新,刷新3次

系統顯示類似如下。

Linux 3.10.0-123.9.3.el7.x8664 (iZ23pddtofdZ)     07/04/2016     _x86_64    (1 CPU)

10:27:34 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive  kbinact  kbdirty
10:27:35 AM    275992    740664     72.85    181552    315340    362052     35.61    471216   115828       60
10:27:36 AM    276024    740632     72.85    181552    315340    362052     35.61    471220   115828       64
10:27:37 AM    276024    740632     72.85    181552    315340    362052     35.61    471220   115828       64
Average:       276013    740643     72.85    181552    315340    362052     35.61    471219   115828       63

顯示結果主要字段說明

  • kbmemfree:該值和free命令中的free值基本一致,不包括buffer和cache空間。

  • kbmemused:該值和free命令中的used值基本一致,包括buffer和cache空間。

  • %memused:物理內存使用率,該值是kbmemused和內存總量(不包括swap內存)的百分比。

  • kbbuffers和kbcached:這兩個值和free命令中的buffer和cache一致。

  • kbcommit:保證當前系統所需要的內存,即為了確保不溢出而需要的內存,即RAM加上swap的內存。

  • %commit:該值是kbcommit與內存總量(包括swap內存)的百分比。

查看I/O負載

執行如下命令,查看I/O負載。

sar -b 1 10 #每隔一秒刷新,刷新10次

系統顯示類似如下。

Linux 5.10.134-13.al8.x86_64 (iZ2zegjvrdtgifd77gadyqZ) 03/09/2023 _x86_64_ (8 CPU)

02:34:00 PM tps rtps wtps bread/s bwrtn/s
02:34:01 PM 6.00 0.00 6.00 0.00 80.00
02:34:02 PM 55.00 0.00 55.00 0.00 632.00
02:34:03 PM 1.00 0.00 1.00 0.00 8.00
02:34:04 PM 0.00 0.00 0.00 0.00 0.00
02:34:05 PM 0.00 0.00 0.00 0.00 0.00
02:34:06 PM 2.00 0.00 2.00 0.00 136.00
02:34:07 PM 82.00 0.00 82.00 0.00 888.00
02:34:08 PM 0.00 0.00 0.00 0.00 0.00
02:34:09 PM 0.00 0.00 0.00 0.00 0.00
02:34:10 PM 0.00 0.00 0.00 0.00 0.00
Average: 14.60 0.00 14.60 0.00 174.40

顯示結果主要字段說明

  • tps:每秒鐘向物理設備請求數據次數。

  • rtps:每秒鐘向物理設備讀請求次數。

  • wtps:每秒鐘向物理設備寫請求次數。

  • bread/s:每秒鐘從物理設備讀入的數據量。

  • bwrtn/s:每秒鐘向物理設備寫入的數據量。

查看swap分區頁面交換情況

執行如下命令,查看swap分區頁面交換情況。

sar -W 1 3

系統顯示類似如下。

Linux 3.10.0-123.9.3.el7.x8664 (iZ23pddtofdZ) 07/04/2016 _x86_64 (1 CPU)
10:28:59 AM pswpin/s pswpout/s
10:29:00 AM 0.00 0.00
10:29:01 AM 0.00 0.00
10:29:02 AM 0.00 0.00
Average: 0.00 0.00

顯示結果主要字段說明

  • pswpin/s:每秒從交換分區到系統的交換頁面(swap page)數量。

  • pswpout/s:每秒從系統交換到swap的交換頁面(swap page)的數量。

常見sar命令參數

sar命令的參數說明如下,區分大小寫。

  • -A:匯總所有的報告。

  • -a:報告文件讀寫使用情況。

  • -B:報告附加緩存的使用情況。

  • -b:報告緩存的使用情況。

  • -c:報告系統調用的使用情況。

  • -d:報告磁盤的使用情況。

  • -g:報告串口的使用情況。

  • -h:報告關于buffer使用的統計數據。

  • -m:報告IPC消息隊列和信號量的使用情況。

  • -n:報告命名cache的使用情況。

  • -p:報告調頁活動的使用情況。

  • -q:報告運行隊列和交換隊列的平均長度。

  • -R:報告進程的活動情況。

  • -r:報告沒有使用的內存頁面和硬盤塊。

  • -u:報告CPU的利用率。

  • -v:報告進程、i節點、文件和鎖表狀態。

  • -w:報告系統交換活動狀況。

  • -y:報告TTY設備活動狀況。

使用htop查看系統內各進程負載情況

htop是Linux系統中的一個互動進程查看器,可以很直觀地查看CPU、內存、swap的使用情況及平均負載。

  1. 遠程連接Linux系統的ECS實例。

    具體操作,請參見連接方式概述

  2. 執行如下命令,安裝htop工具。

    yum install htop
  3. 執行如下命令,啟動htop監控工具。

    htop
  4. 使用htop工具查看系統負載。

    htop啟動后的界面如下圖所示,不同區域說明如下:

    • ①:左側顯示CPU、內存、swap交換區的使用情況,右側顯示進程總數、平均負載及系統運行時間。

    • ②:當前系統中所有進程的使用情況,可通過單擊CPU%或MEM%對CPU使用率及內存使用率排序,查看使用率較高的進程。

    • ③F1到F10功能鍵。

    htop

故障處理