MySQL Memory--Centos6使用内存异常问题
基础信息
服务器版本:CentOS release 6.7 (Final)
服务器启动:system boot 2021-06-07 11:56
问题描述
通过free命令查看内存使用情况:
## 执行命令
free -g
## 输出结果
total used free shared buffers cached
Mem: 126 98 27 0 0 8
-/+ buffers/cache: 88 37
Swap: 47 0 47
使用top命令查看使用内存较多进程:
top
top - 15:41:24 up 612 days, 3:45, 2 users, load average: 1.38, 1.27, 1.32
Tasks: 653 total, 1 running, 652 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3%us, 0.3%sy, 0.0%ni, 99.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 132175572k total, 103316664k used, 28858908k free, 871700k buffers
Swap: 50331644k total, 0k used, 50331644k free, 9324440k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6276 mysql 20 0 55.0g 41g 13m S 6.1 32.9 40128:47 mysqld
24148 root 20 0 1397m 571m 266m S 0.0 0.4 2486:19 my-sniffer
3556 tomcat 20 0 6053m 287m 11m S 0.0 0.2 660:59.73 java
13474 root 20 0 2464m 59m 11m S 0.0 0.0 37:31.75 dubai_agent
16691 root 20 0 3186m 56m 656 S 0.0 0.0 29:44.05 agent
14582 root 20 0 2649m 55m 12m S 0.0 0.0 0:59.84 dubai_plugin_my
9971 root 20 0 653m 47m 3776 S 0.0 0.0 154:02.00 python
1368 root 20 0 3182m 38m 7148 S 0.0 0.0 91:57.39 q-agent
19745 root 20 0 2632m 38m 428 S 0.0 0.0 68:25.77 daemon
4732 root 20 0 1632m 32m 3424 S 0.0 0.0 4:16.26 agent_daemon.py
9972 root 20 0 481m 32m 944 S 0.0 0.0 0:00.00 python
4248 root 20 0 2416m 31m 2032 S 0.0 0.0 128:39.13 qagent
5928 root 20 0 333m 30m 5916 S 0.0 0.0 0:02.47 python3.5
执行缓存清理:
sync && sync && echo 3 > /proc/sys/vm/drop_caches
通过free命令查看内存使用情况:
## 执行命令
free -g
## 输出结果
total used free shared buffers cached
Mem: 126 53 72 0 0 0
-/+ buffers/cache: 53 72
Swap: 47 0 47
通过drop_caches后,已使用内存(不包含Cache)从88G变成53G
问题总结
当使用top命令找不到已使用的(used)内存或则用于缓存的(cached)内存时,可以考虑使用drop_caches来清理一波内存。
另外部分缓存的(cached)内存无法通过drop_caches来清理,可以尝试重启MySQL后再次使用drop_caches来清理。