Linux服務器mysql,nginx等自動停止的排查,以及解決方法


最近發現自己使用的某台雲服務武器只要稍微流量大一點,就會出現莫名的的數據庫連接錯誤的情況 ,然后連上服務器查看,發現mysql進程被結束了,經常出現這種情況,這還怎么得了,然后第一時間查看mysql日志 發現是被進程結束了,好端端的怎么就自己結束了呢,這時候想到應該是mysql進程占用太多內存,然后被系統給kill 掉了.
然后 tail /var/log/messages 查看服務器的系統日志/var/log/messages
TB1DtElHFXXXXXYXXXXXXXXXXXX

然后看了下在mysql自動停止的時間段內,有什么異常的日志信息,日志有提示“Out of memory”這就可以判定,是服務器的內存使用不足,導致系統自動殺死的mysql的進程,果然是內存不足,通過升級服務器的內存可以解決。還有就是
inux開啟swap(虛擬內存) 也能相應的解決問題, 所以我選擇了后者試一試
具體步驟如下
文章出處:極安全 www.jisec.com
由於開啟swap分區會導致硬盤IO性能下降,因此阿里雲服務器或者其他的一些雲服務器初始狀態未配置swap,如果某些應用需要開啟swap分區,可以采用如下方法增加:
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、設置交換分區文件
#mkswap /mnt/swap
TB16msyHXXXXXbXXVXXXXXXXXXX
3、立即啟用交換分區文件
#swapon /mnt/swap
如果在/etc/rc.local中有swapoff -a 需要修改為swapon -a

222

4、設置開機時自啟用swap分區

需要修改文件/etc/fstab中的swap行。

添加 /mnt/swap swap swap defaults 0 0

注:/mnt/swap 路徑可以修改,可以根據創建的swap文件具體路徑來配置。
文章出處:極安全 www.jisec.com

333

設置后可以執行free -m命令查看效果

444


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM