有些服务器因为历史原因和特殊需求分配的swap空间比较大,服务器长时间运行后发现swap空间使用率很高。我们知道swap实际上是使用的硬盘空间,比起内存运行会慢很多。那到底是哪些进程占用了大量的swap空间呢?又如何释放swap空间呢?
2、编写脚本找出swap占用top10进程
/proc/{pid}/smaps文件中每个进程占用的swap是按区单独记录的,需要通过求和得到单个进程占用的swap大小,然后再进行排序找到swap占用空间最大的top10。
smaps
三、swap释放方法
1、查看swap使用情况
(base) [root@test tools]# free -h
total used free shared buff/cache available
Mem: 7.6G 360M 288M 148M 6.9G 6.7G
Swap: 1.0G 635M 388M
2、查看swap挂载
(base) [root@test tools]# swapon -s
文件名 类型 大小 已用 权限
/dev/sda2 partition 1048572 650292 -2
3、取消swap挂载
#取消swap挂载的时候会将swap内网逐步复制到内存中,swap占用越大需要的时间越长
(base) [root@test tools]# swapoff /dev/sda2
4、再次挂载swap
(base) [root@test tools]# swapon /dev/sda2
5、查看swap使用情况
(base) [root@test tools]# free -h
total used free shared buff/cache available
Mem: 7.6G 805M 139M 297M 6.6G 6.2G
Swap: 1.0G 0B 1.0G
————————————————
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
添加我为好友,拉您入交流群!
请使用微信扫一扫!