GreatSQL社区

搜索

[已解决] mysql已经占用swap了。怎么安全释放swap?

801 6 2022-9-21 13:32
如题,mysql已经占用swap了。怎么安全释放swap?
全部回复(6)
yejr 2022-9-21 13:39:40
麻烦先确认几个问题:
1. 物理内存多大。
2. mysqld进程占用多少内存。
3. 怎么确认mysqld进程用到了swap的。
gavinlee 2022-9-21 13:51:51
yejr 发表于 2022-9-21 13:39
麻烦先确认几个问题:
1. 物理内存多大。
2. mysqld进程占用多少内存。

先说下现状,swap情况已经缓解了。怀疑有内存泄漏情况。
主要做下下面操作。
sync && swapoff -a
swapon -a

1. 内存128G swap 30G
2.
通过free 查看
mysql 当时占用70G的样子。而swap几乎使用完
3. 使用iotop查看swapin 有使用swap
yejr 2022-9-21 14:01:10
gavinlee 发表于 2022-9-21 13:51
先说下现状,swap情况已经缓解了。怀疑有内存泄漏情况。
主要做下下面操作。
sync && swapoff -a

可以把free的结果贴出来看看
gavinlee 2022-9-21 14:05:32
yejr 发表于 2022-9-21 14:01
可以把free的结果贴出来看看

              total        used        free      shared  buff/cache   available
Mem:            125          63          13           2          47          58
Swap:            30           6          24
Total:          155          70          37
yejr 2022-9-21 15:05:06
gavinlee 发表于 2022-9-21 14:05
total        used        free      shared  buff/cache   available
Mem:            12 ...

看起来是“曾经”用到了swap,不过也并没有把全部swap用尽,物理内存也有剩余。
另外,从这个结果看,似乎确实存在内存泄露,可以尝试升级版本再看看。

在确保物理内存还有剩余的情况下,确认innodb buffer pool也还有free pages,这时候就可以在负载低谷时期执行 swapoff -a ,释放swap。
yejr 2022-9-21 15:25:19
对了,可以看下numa关了没。
不想关numa的话,可以在mysqld启动前,设置下numa策略,具体可自行搜索参考。
gavinlee

1

主题

0

博客

6

贡献

新手上路

Rank: 1

积分
9

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2024-11-22 00:57 , Processed in 0.020442 second(s), 18 queries , Redis On.
快速回复 返回顶部 返回列表