MYSQL經常掛,懷疑記憶體不夠,加SWAP最佳化

來源:互聯網
上載者:User

標籤:swap   日誌   修改   efault   注釋   pap   scom   href   mysql   

如題,最近http://www.12reads.cn/ 的MYSQL經常掛,最近掛的LOG:


At time: Wed Dec  7 09:15:01 CST 2016 :MySQL error stop .At time: Wed Dec  7 09:30:01 CST 2016 :MySQL error stop .At time: Wed Dec  7 10:00:02 CST 2016 :MySQL error stop .At time: Mon Dec 19 04:30:01 CST 2016 :MySQL error stop .At time: Mon Dec 19 04:45:01 CST 2016 :MySQL error stop .At time: Mon Dec 19 05:00:01 CST 2016 :MySQL error stop .At time: Mon Dec 19 05:15:01 CST 2016 :MySQL error stop .At time: Mon Dec 19 05:30:01 CST 2016 :MySQL error stop .At time: Mon Dec 19 05:45:01 CST 2016 :MySQL error stop .At time: Mon Dec 19 06:00:01 CST 2016 :MySQL error stop .At time: Mon Dec 19 06:15:01 CST 2016 :MySQL error stop .At time: Mon Dec 19 06:30:01 CST 2016 :MySQL error stop .At time: Mon Dec 19 06:45:01 CST 2016 :MySQL error stop .At time: Mon Dec 19 07:00:01 CST 2016 :MySQL error stop .At time: Mon Dec 19 07:15:01 CST 2016 :MySQL error stop .At time: Mon Dec 19 07:30:02 CST 2016 :MySQL error stop .At time: Mon Dec 19 07:45:01 CST 2016 :MySQL error stop .At time: Mon Dec 19 08:00:02 CST 2016 :MySQL error stop .At time: Mon Dec 19 08:15:01 CST 2016 :MySQL error stop .At time: Mon Dec 19 08:30:01 CST 2016 :MySQL error stop .At time: Mon Dec 19 08:45:01 CST 2016 :MySQL error stop .At time: Mon Dec 19 09:00:01 CST 2016 :MySQL error stop .At time: Mon Dec 19 09:15:02 CST 2016 :MySQL error stop .At time: Mon Dec 19 09:30:01 CST 2016 :MySQL error stop .At time: Mon Dec 19 09:45:01 CST 2016 :MySQL error stop .At time: Mon Dec 19 10:00:01 CST 2016 :MySQL error stop .At time: Tue Dec 20 23:15:02 CST 2016 :MySQL error stop .At time: Tue Dec 20 23:30:01 CST 2016 :MySQL error stop .At time: Tue Dec 20 23:45:01 CST 2016 :MySQL error stop .At time: Thu Dec 22 11:56:04 CST 2016 :MySQL error stop .At time: Thu Dec 22 21:26:14 CST 2016 :MySQL error stop .At time: Thu Dec 22 21:56:12 CST 2016 :MySQL error stop .At time: Sat Dec 24 12:02:17 CST 2016 :MySQL error stop .At time: Sat Dec 24 12:08:01 CST 2016 :MySQL error stop .At time: Sat Dec 24 12:10:01 CST 2016 :MySQL error stop .

而查看MYSQL錯誤記錄檔,有提示:

[ERROR] InnoDB: Unable to lock /usr/local/mysql/var/ibdata1, error: 11


error 11在mysql中是資源臨時不可用。


找了一堆原因未果,最好想是不是記憶體瓶頸了?


查看了下伺服器一直沒開房SWAP,所以開啟了下了,觀察看看是不是情況有所改變。


以下是開啟SWAP的具體步驟:(http://www.12reads.cn/目前2G記憶體,所以我選擇了bs=1m,count=2048,也就是分配2G給SWAP來用。)


1、建立用於交換分區的檔案:

 
  1. dd if=/dev/zero of=/mnt/swap bs=block_size count=number_of_block

:block_size、number_of_block 大小可以自訂,比如 bs=1M count=1024 代表設定 1G 大小 SWAP 分區。

2、設定交換分區檔案:

 
  1. mkswap /mnt/swap

3、立即啟用交換分區檔案

 
  1. swapon /mnt/swap

:如果在 /etc/rc.local 中有 swapoff -a 需要修改為 swapon -a 

 

4、設定開機時自啟用 SWAP 分區:

需要修改檔案 /etc/fstab 中的 SWAP 行,添加

 
  1. /mnt/swap swap swap defaults 0 0

:/mnt/swap 路徑可以修改,可以根據建立的 SWAP 檔案具體路徑來配置。

5、修改 swpapiness 參數

在 Linux 系統中,可以通過查看 /proc/sys/vm/swappiness 內容的值來確定系統對 SWAP 分區的使用原則。當 swappiness 內容的值為 0 時,表示最大限度地使用實體記憶體,實體記憶體使用完畢後,才會使用 SWAP 分區。當 swappiness 內容的值為 100 時,表示積極地使用 SWAP 分區,並且把記憶體中的資料及時地置換到 SWAP 分區。

查看修改前為 0,需要在實體記憶體使用完畢後才會使用 SWAP 分區:

可以使用下述方法臨時修改此參數,假設我們配置為空白閑記憶體少於 10% 時才使用 SWAP 分區:

 
  1. echo 10 >/proc/sys/vm/swappiness

若需要永久修改此配置,在系統重啟之後也生效的話,可以修改 /etc/sysctl.conf 檔案,並增加以下內容:  

 
  1. # vim /etc/sysctl.conf
  2. vm.swappiness=10
  3. # sysctl -p
關閉 SWAP

當系統出現記憶體不足時,開啟 SWAP 可能會因頻繁換頁操作,導致 IO 效能下降。如果要關閉 SWAP,可以採用如下方法。

1、free -m 查詢 SWAP 分區設定:

2、使用命令 swapoff 關閉 SWAP,比如:

 
  1. swapoff /mnt/swap

3、修改 /etc/fstab 檔案,刪除或注釋相關配置,取消 SWAP 的自動掛載:

4、  通過 free -m  確認 SWAP 已經關閉。

5、 swappiness 參數調整:

可以使用下述方法臨時修改此參數,這裡配置為 0%:

 
  1. echo 0 >/proc/sys/vm/swappiness

若需要永久修改此配置,在系統重啟之後也生效的話,可以修改 /etc/sysctl.conf 檔案,並增加以下內容:

 
  1. # vim /etc/sysctl.conf
  2. vm.swappiness=0
  3. # sysctl -p


MYSQL經常掛,懷疑記憶體不夠,加SWAP最佳化

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.