數據庫內存不足

現在使用的 Centos7.2 系統,數據庫版本是 Mariadb5.5.52.
很多次打開網站時提示數據庫鏈接錯誤,于是進入命令行中查找數據庫日志文件查找原因:

Log報錯信息.png

發現了是內存不足導致數據庫自動關閉.
運行下列語句查看服務器內存使用情況:

#[root@VM_247_254_centos ~]free -m
內存信息.png

Swap空間的作用可簡單描述為:當系統的物理內存不夠用的時候,就需要將物理內存中的一部分空間釋放出來,以供當前運行的程序使用.
于是在服務器內存不足的情況下,不能使用swap分區,導致了數據庫意外關閉.

現在來創建一個1024MB的Swap分區

  1. 創建swapfile
[root@VM_247_254_centos ~]# dd if=/dev/zero of=/swapfile bs=1024 count=1048576
1048576+0 records in
1048576+0 records out
1073741824 bytes (1.1 GB) copied, 20.8217 s, 51.6 MB/s

在分配過程中會明顯感覺卡住,等待一會就能夠分配成功

2.使用下面的命令配置 swap 文件:

[root@VM_247_254_centos ~]# mkswap /swapfile
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=2c52576d-5773-4e5a-9e7e-76754c0155da

3.接下來,使用下面的命令立即啟用 swapfile

[root@VM_247_254_centos ~]# swapon /swapfile
swapon: /swapfile: insecure permissions 0644, 0600 suggested.

4.最后,我們在 /etc/fstab 中添加下面一行,這樣可以在系統下次重啟時自動生效創建的 swapfile

[root@VM_247_254_centos ~]# vi /etc/fstab

使用vi進入到/etc/stab文件,然后通過i命令在文件最后插入下面這句

/swapfile       swap    swap defaults   0 0

最后該文件應該是這樣的

fstab文件.png

5.使用 cat /proc/swaps 或 free -m 查看 swapfile 的生效情況

swap分區生效情況.png

6.重啟httpd服務和mariadb服務

[root@VM_247_254_centos ~]# systemctl restart httpd.service
[root@VM_247_254_centos ~]# systemctl restart mariadb.service

在這時應該能夠解決數據庫內存不足的問題了.

參考鏈接:
mariadb 在低配 VPS 上崩潰問題

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Ubuntu的發音 Ubuntu,源于非洲祖魯人和科薩人的語言,發作 oo-boon-too 的音。了解發音是有意...
    螢火蟲de夢閱讀 99,594評論 9 467
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,992評論 19 139
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數據革命閱讀 12,239評論 2 33
  • 需要原文的可以留下郵箱我給你發,這里的文章少了很多圖,懶得網上粘啦 1數據庫基礎 1.1數據庫定義 1)數據庫(D...
    極簡純粹_閱讀 7,536評論 0 46
  • 1.MySQL是一個關系型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬于 Oracle 旗下產品。My...
    黃花菜已涼閱讀 4,600評論 3 60