linux共享内存不够用怎么办,Linux 物理内存不足时, 临时增加swap分区

系统中交换分区的大小并不取决于物理内存的量,而是取决于系统中内存的负荷,所以在安装系统时要根据具体的业务来设置SWAP的值。其实虚拟内存并不是等到物理内存用尽了才使用的,是否尽量的使用或不使用swap,在内核空间有一个参数控制。# cat /proc/sys/vm/swappiness

60

表示默认的swappiness的值为60。换而言之,当swap空间使用达到60%的时候,开始释放物理内存中的cache/buffers。 swappiness=0 的时候表示最大限度使用物理内存,然后才是swap空间;swappiness=100 的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。

我们可以把这个参数值设置的低一些,让操作系统尽可能的使用物理内存,降低系统对swap的使用,从而提高系统的性能。例如# echo 10 > /proc/sys/vm/swappiness

或者:# sysctl vm.swappiness=10

vm.swappiness = 10

# cat /proc/sys/vm/swappiness

10

这表明修改已经生效。但是如果我们重启了系统,它又会变成60。为了让我们的修改长久有效,可以修改配置文件/etc/sysctl.conf:# echo 'vm.swappiness=10' >>/etc/sysctl.conf

# sysctl -p #重新载入配置文件。

首先,需要制作交换分区文件。现有交换分区大小是0M。此处设置交换分区文件的大小为1G。执行下述命令:# dd if=/dev/zero of=/var/tmp/swap bs=1k count=1024000

记录了1024000+0 的读入

记录了1024000+0 的写出

1048576000字节(1.0 GB)已复制,5.07655 秒,207 MB/秒

它将在/var/tmp路径创建一个名为swap、大小为1G的分区文件,该分区文件拥有1024000个扇区(block),每个扇区大小为1K。接着,再把这个分区文件格式化为交换分区格式:# mkswap /var/tmp/swap

挂载到文件系统:# swapon /var/tmp/swap

如果想要确认交换分区是否挂载成功,可执行:# swapon -s

Filename Type Size Used Priority

/dev/sda1 partition 511996 16192 ?1

/var/tmp/swap file 1023996 0 ?2

从显示结果来看,我们确实看到了文件格式交换分区被加载。如果还想要查看系统内存情况,只需执行:# free -m

total used free shared buffers cached

Mem: 995 935 60 0 6 551

-/+ buffers/cache: 376 618

Swap: 1499 15 1484

如果我们不再需要这一块交换分区文件,那么可以先卸载再删除它:# swapoff /var/tmp/swap

# rm -rf /var/tmp/swap

如果保留交换分区文件,待将来再次使用,我们需要先挂载它,因为一旦重启,原先的挂载便会失效!若要让我们的交换分区文件随机器启动自动挂载,则可修改/etc/fstab文件,如下设置:# cat /etc/fstab | grep -i swap

/dev/sda1 none swap sw 0 0

/var/tmp/swap swap swap defaults 0 0

本文由 gjc159357 创作,采用 知识共享署名4.0 国际许可协议进行许可

本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名

最后编辑时间为: Mar 2, 2018 at 07:02 am

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值