centos6下jbd2程序占用大量IO處理

2022-02-20 20:31:34 字數 2190 閱讀 1706

剛在嘗試重現乙個bug時,好像在killed mysql一段時間之後,io一直很高,如下:

12:40:01 pm     cpu     %user     %nice   %system   %iowait    %steal     %idle

12:50:01 pm all 12.86 0.00 14.40 1.58 0.00 71.16

01:00:01 pm all 13.38 0.00 15.34 1.50 0.00 69.79

01:10:01 pm all 34.34 0.00 21.24 2.13 0.00 42.29

01:20:01 pm all 36.03 0.00 22.13 3.45 0.00 38.40

01:30:01 pm all 36.80 0.00 21.43 2.53 0.00 39.24

01:40:01 pm all 36.86 0.00 20.56 2.26 0.00 40.32

01:50:01 pm all 38.22 0.00 19.26 2.10 0.00 40.41

02:00:01 pm all 36.12 0.00 20.52 1.80 0.00 41.56

02:10:02 pm all 43.75 0.00 20.05 1.97 0.00 34.23

02:20:01 pm all 39.93 0.00 19.16 2.10 0.00 38.81

02:30:01 pm all 43.93 0.00 19.38 5.43 0.00 31.26

02:40:01 pm all 40.27 0.00 21.20 2.21 0.00 36.32

02:50:01 pm all 39.17 0.00 21.56 2.10 0.00 37.16

03:00:01 pm all 48.89 0.00 19.51 4.21 0.00 27.38

03:10:01 pm all 25.04 0.00 16.64 13.96 0.00 44.37

03:20:01 pm all 13.49 0.00 18.75 15.09 0.00 52.67

03:30:01 pm all 12.69 0.00 17.68 15.35 0.00 54.27

03:40:01 pm all 17.22 0.00 13.42 15.50 0.00 53.86

03:50:01 pm all 19.16 0.00 10.48 14.86 0.00 55.49

04:00:01 pm all 11.95 0.00 14.80 15.52 0.00 57.73

iotop了一下,jbd2程序占用大量io處理,搜尋了下,關於jbd2,jbd2是ext4檔案系統的一部分。ext4檔案系統出現過此bug,bug原理大致是,檔案的寫和請求會導致其中乙個int型的值不斷增大,最後增大到超出了自身的範圍 —— 變成負值 。就會觸發該bug ,而想要達到該值並不容易,需要幾個月後才會出現。

解決方法:

1、yum公升級kernel ,重啟檢視是否有效。(在此之前先要做好備機使用的準備工作)

2、重灌系統分割槽,完成後重新掛載資料分割槽。

3、驗證臨時補丁的可用性。並在現網修復。

參考:

CentOS 6 下vncserver安裝配置

當使用.runinstaller安裝oracle的時候,有可能需要圖形介面安裝嚮導,此時,我們可以為oracle使用者安裝vncserver 是實現圖形介面 centos 6 下vncserver安裝配置 1.安裝必要的軟體包 系統為centos 6.0,為最小化安裝。a.安裝vncserver服務...

在centos6 下安裝PostgreSQL

1.安裝postgresql yum install 對於其他的版本,可以去官網檢視 初始化資料庫 yum install postgresql95 server postgresql95 contrib service postgresql 9.5 initdb 設定啟動postgresql服務並...

XP環境下安裝CentOS 6

在xp環境下安裝centos實現多作業系統 安裝準備 安裝 1.磁碟準備,準備乙個足夠大的fat32格式的磁碟 比如5g 用來放置安裝檔案,可以使c盤,其它盤都可以。2.解壓grub,將裡面的grldr,menu.list,grldr.exe拷貝出來,放入到c盤中 3.將centos.iso考到準備...