mariadb占用内存过大解决
top命令查看mariadb状态
主要是生产环境用的阿里云服务器,一共就1.8G内存,因此才会关注各个程序占用的内存情况。起因是两个服务,每2周可能就会挂一次,一般挂了就直接重启。最近老板才想到要优化一下,就关注了一下。用top命令查看了一下,刚重启之后,内存就只剩289M。这个时候,如果用户的设备或者网络有所波动,导致接到服务上的连接变多很多的话,那么是极有可能会导致服务挂掉。观察了一下,两个服务都算正常的内存占用。但是mysql的内存占用,居高不下,高达21%,mariadb的连接数也就二三十,怎么可能占用这么多内存?有异常。
排查mariadb的各种buffer_size
mysql -u**** -p******
登录到mysql的shell界面。
show full processlist;
查看各个连接到mariadb的线程,有无异常状态。
可以看到并无异常。
show global variables like '%sort_buffer_size%';
查看相关配置,发现设置的也并不是很高。