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来清理。

posted @ 2023-02-09 15:56  TeyGao  阅读(55)  评论(0编辑  收藏  举报