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

歡迎訪問 生活随笔!

生活随笔

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

数据库

mysql内存占用过高_mysql占用内存过高排查

發布時間:2023/12/20 数据库 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql内存占用过高_mysql占用内存过高排查 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

排查點:數據庫配置,數據分區、定時事件、存儲過程

觸發原因:java服務莫名的掛掉了

機器信息:centos 7 ,騰訊云服務器1核2G,只安裝了mysql和運行一個java服務。

經過排查過程:

查進程id

ps -ef |grep mysql

查詢占用內存,cpu情況

top -p [進程id]

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

12799 mysql 20 0 1793884 279132 12600 S 0.3 44.8 0:05.59 mysqld

發現mysql進程剛剛啟動的時候占用內存挺低了25%左右,基本能接受,但是過了十分鐘左右就到45%了,心態。。。。。

開始

查看博客https://blog.csdn.net/kouryoushine/article/details/89354949

說可能是因為innodb_buffer_pool_size配置太高了,結果看了自己的配置才134MB,覺得配置合理。覺得問題原因不匹配,放棄。

第二

查看數據的大小,突然發現有個test庫,有4G這么大,然后一看發現之前做了定時分區的測試,有定時寫入、存儲過程等。

比如:

#每分鐘寫入一條數據定時任務

create definer = root@`%` event event_every_minute_call_insert on schedule

every '1' MINUTE

starts '2019-09-17 16:09:38'

on completion preserve

enable

do

call procedure_auto_insert_minute();

create

definer = root@`%` procedure procedure_auto_insert_minute()

BEGIN

declare i int default 0;

while (i < 5)

do

insert into t_auto_insert_minute

values (0, concat('procene', i), now(), concat(date_format(now(), '%Y%m%d%H'), minute(now())));

set i = i + 1;

end while;

END;

把這些關掉,然后top -p,內存占用就降低到14%了。

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

12799 mysql 20 0 1793884 279132 12600 S 0.3 14.8 0:05.59 mysqld

總結

以上是生活随笔為你收集整理的mysql内存占用过高_mysql占用内存过高排查的全部內容,希望文章能夠幫你解決所遇到的問題。

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