Linux中释放和调整交换空间swap

zabbix监控平台上服务器出现报警:High swap space usage (less than 50% free),是因为swap分区使用超过了50%。
解决方案:释放swap。

一、Linux内存管理机制简介

在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然。这是Linux内存管理的一个优秀特性,区别于 Windows的内存管理。

主要特点是,无论物理内存有多大,Linux 都将其充份利用,将一些程序调用过的硬盘数据读入内存,利用内存读写的高速特性来提高Linux系统的数据访问性能。而Windows 是只在需要内存时,才为应用程序分配内存,并不能充分利用大容量的内存空间。换句话说,Linux自身的预分配内存机制使得主机上的物理内存会全部被用上。每增加一些物理内存,Linux 都会将它充分利用起来,发挥了硬件投资带来的好处,而Windows只将其做为摆设,即使增加8GB甚至更大。

Linux 的这一特性,能够利用空闲的物理内存,划出部份空间,做为 cache 和 buffers ,以此提高数据访问性能。

二、释放Swap分区

1、关闭交换分区:

首先要保证内存剩余量要大于等于swap使用量,否则会出现宕机!
根据内存机制,swap分区一旦释放,所有存放在swap分区的文件都会转存到物理内存上。
然后再通过重新挂载swap分区完成释放swap。

1.查看内存使用情况
free -h

在这里插入图片描述

2.查看swap分区挂载盘
swapon -s

在这里插入图片描述

3.关闭swap
swapoff /dev/dm-1

注意:swap使用小于空闲内存,足够将swap内存转存到物理内存中,否则会出现宕机

将关闭的swap重新开启挂载
swapon /dev/dm-1

2、设置尽量少使用swap分区

临时修改方案,重启后不生效

内存在使用到100-60=40%的时候,就开始出现有交换分区的使用。大家知道,内存的速度会比磁盘快很多,这样子会加大系统IO,同时造的成大量页的换进换出,严重影响系统的性能,所以我们在操作系统层面,要尽可能使用内存,对该参数进行调整。

# 设置vm.swappiness为10
sysctl vm.swappiness=10
# 查看swappiness值
cat /proc/sys/vm/swappiness # linux的默认值为60
# 10

永久修改方案,重启后依旧生效

vi /etc/sysctl.conf
# 添加
vm.swappiness=10

或者直接输入

echo 'vm.swappniess=10'>>/etc/sysctl.conf
激活swap设置:
# sysctl -p
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值