swap空间占用过高解决方案

swap空间占用过高解决方案

1 简介

Swap分区在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。

1.1 Linux的swap原理

1、 控制swap使用的系统参数:swappiness

Swappiness:表示使用物理内存限度
Swappiness为0(100%-0=100%)表示物理内存使用到100%的时候使用swap空间
Swappiness为60(100%-60%=40%)表示物理内存使用到40%的时候使用swap空间

如果swappiness设置太大(内存的速度会比磁盘快很多),这样子会加大系统io,同时造的成大量页的换进换出,严重影响系统的性能,所以我们在操作系统层面,要尽可能使用内存,对该参数进行调整。

2、 Linux默认swappiness

 

# cat /proc/sys/vm/swappiness

60

默认为60,也就是说当物理内存使用到40%的时候开始使用swap。

2 解决

2.1 调整swappiness参数

2.1.1 临时调整

 

# sysctl vm.swappiness=10
vm.swappiness = 10
# cat /proc/sys/vm/swappiness
10

2.1.2 久调整

1、设置

 

# cat /etc/sysctl.conf
vm.swappiness=10

2、激活

 

#sysctl -p

2.2 增加swap空间

当以上方法无法解决问题,或者机器内存消耗大,添加内存,swap也要相应扩展。

1、 查看swap****空间

 

# free -m

total used free shared buff/cache available
Mem: 3791 1464 1112 30  1214 1998
Swap: 4095  175 3920

2、 查看/dev/zero

 

# df -h /dev/zero

Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev

此/dev/zero一共就1.9G所以添加swap空间不可以超过1.9G

解释:/dev/zero也是一个伪文件,但它实际上产生连续不断的null的流(二进制的零流,而不是ASCII型的)。写入它的输出会丢失不见,/dev/zero主要的用处是用来创建一个指定长度用于初始化的空文件,像临时交换文件。可以用来创建swap。

3、 新建swap****分区空间

注意:创建好的交换文件不能删除,所以要提前找到一个目录。

 

# cd /home/

# mkdir -p swap

# cd /home/swap/

# dd if=/dev/zero of=swapfile bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 1.0867 s, 988 MB/s

解释:of为文件名。Bs为单个大小。Count为数量。我创建了一个1G的文件。

4、 mkswap****创建交换文件

 

# mkswap swapfile

Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=18c17ff6-a584-4e74-8fba-ab0a39ae90e4

5、 swapon****激活

 

# swapon swapfile

swapon: /home/swap/swapfile: insecure permissions 0644, 0600 suggested.

6、 验证

 

# free -m

total used free shared buff/cache available
Mem: 3791 1464 121  30  2205  1989
Swap:  5119   175 4944

7、 开机启动

由于以上操作为临时生效,服务器重启会失效。所以要设置开机启动。

 

#vi /etc/fstab

/home/swap/swapfile swap swapdefaults 0 0

8、 其他操作

a) 停用:swapoff swapfile

b) 删除:rm –rf swapfile

c) 删除随即启动swap:vi /etc/fstab



作者:橡皮24
链接:https://www.jianshu.com/p/dbc27148f58c
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值