手动为Linux设置Swap(虚拟内存)

Linux 2016-04-13

起步

买的服务器初始状态未配置swap,如果升配从内存从1G到2G,价格翻了一倍,那就走其他路径来“扩大”内存吧。

开始

1、创建用于交换分区的文件

dd if=/dev/zero of=/mnt/swap bs=block_size count=number_of_block

block_size、number_of_block 大小可以自定义,如:bs=1M count=1024,那么久会创建1024个bs=1M的区块(文件大小1024M)

2、格式化交换分区文件

mkswap /mnt/swap

3、立即启用交换分区文件

swapon /mnt/swap

如果在/etc/rc.local中有swapoff -a 需要修改为swapon -a

4、设置开机时自启用swap分区

需要修改文件/etc/fstab中的swap行。

添加 /mnt/swap swap swap defaults 0 0

5、修改vm.swappiness

修改文件/etc/sysctl.confvm.swappiness = 0,我的服务器默认设置为0。 改值0~100,100时,则告诉内核疯狂的将数据移出物理内存在swap缓存中。一般设为60以下。

重启生效。

总结

虽然开启swap分区会导致硬盘IO性能下降,但对于小内存的服务器还是需要的。


本文由 hongweipeng 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

如果对您有用,您的支持将鼓励我继续创作!