日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 停止服务内存_服务器莫名的内存高占用 导致 MySQL 停止运行问题

發布時間:2023/12/20 数据库 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 停止服务内存_服务器莫名的内存高占用 导致 MySQL 停止运行问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這問題是年后開始出現的,服務器內存占用越來越高,一度達到90%,最后 MySQL 都停止運行了。貼吧簽到的數據庫用戶 ID 這一項也丟失了,導致無法簽到,斷簽了好些天,被提醒才發現,要挨打的。幸好設置了自動備份,把數據恢復,然后提高了簽到頻率,沒想到后邊反復出現了幾次,不得不重視。

出現了幾次就不是偶然了,最后每次都飆到85%,只能重啟服務器解決。第一次出現時以為是 MySQL 數據庫的自身問題,可能因服務器內存小而崩潰,實際1.8G 的運行內存不大不小的。查了數據庫日志發現數據庫因分配內存不足而啟動失敗,用 top 命令也查了下,內存高占用的前 20 有 MySQL,是個大頭,于是添加了 2G 的 Swap 虛擬內存,再添加了數據庫進程守護,計劃任務每5分鐘運行一次,檢測到 MySQL 不運行了就重新啟動。pgrep -x mysqld &> /dev/null

if [ $? -ne 0 ];then

bash /www/server/panel/script/rememory.sh

/etc/init.d/mysqld start

fi

結果過了些天問題依舊出現了,4G 內存也不夠耗。這就有點莫名其妙的,之前一直運行好幾年穩如狗的,怎么突然就這樣呢?回想一下自己的操作,除了升級高版本寶塔面板好像就沒了,升個大版本應該不會突然占用飆升吧,查進程看面板占用也才幾十 MB ,到論壇也沒見有人反饋,說明不是這個原因。

最后用 ps 命令仔細查看了所有進程,終于發現了問題的源頭,是貼吧簽到的定時任務和 php-fpm 。如果需要不間斷地自動簽到,那就得不停地訪問執行簽到的 do.php 頁面。進程中發現了幾十個正在運行的 do.php 和php-fpm 進程。

原來設置的是一分鐘執行一次的 crontab ,后來似乎是嫌簽到太慢,我就就按著查到的方法改為 10 秒執行簽到一次:php /www/wwwroot/qiandao/do.php

sleep 10;

php /www/wwwroot/qiandao/do.php

sleep 20;

php /www/wwwroot/qiandao/do.php

sleep 30;

php /www/wwwroot/qiandao/do.php

sleep 40;

php /www/wwwroot/qiandao/do.php

sleep 50;

php /www/wwwroot/qiandao/do.php

面板提供的計劃任務功能最小只能 N 分鐘執行,就查了下,了解到可以用 sleep 來實現。雖然知道在 C++ 程序中長時間延遲不能用 sleep ,都是用不會導致程序假死阻塞的定時器,但在這計劃任務中PHP用應該沒問題吧?還是 to young to simple 了,去除 sleep ,改回一分鐘執行一次,重啟服務器,再也沒出現內存爆滿的問題了,回到了以前正常占用內存60%左右。

最開始只用了 top 查內存高占用的前 20 進程,所以沒發現是 do.php 和 php-fpm 的原因。一個進程只占了不到 9 mb ,雖然PHP管理中限制了 php-fpm 最大子進程數是50個,但到50個后,do.php 進程也達到 50 ,兩個加起來占用就飆到 900 MB 了,妥妥地爆滿。

正常我的網站 PHP 需求 是不會產生幾十個進程的,是使用 sleep 導致了這個問題。原因大概是采用 FPM 管理 PHP 進程,由于 sleep 導致阻塞等待,FPM 實際分配了過多子進程,然后我的 PHP 并發方案是設置的 2G ,問題就這么產生了。

總結:編程不專業,程序兩行淚。

總結

以上是生活随笔為你收集整理的mysql 停止服务内存_服务器莫名的内存高占用 导致 MySQL 停止运行问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。