首页 » 信息技术 »

设置Linux的Swap交换分区

2017年5月13日 / 270次阅读
Linux

有的时候Linux服务器运行时出现卡顿卡死的,或者已知内存不足够支持所有业务的运行,这时建议设置一点Swap交换分区。Swap交换分区可以将内存中暂时用不到的数据放到硬盘上,以提高内存的使用效率,解决因为内存溢出出现的卡顿卡死现象。

很多人其实喜欢将Linux的服务器的所有性能都压榨出来,这就要求将内存正好用得满满当当的,不设置swaq分区的目的也是为了让系统更快运行。不过,我更喜欢设置一点swap分区,因为很难讲业务需要的内存大小计算的很精确,如果余量没有留足够,又没有swap分区,这时系统可能会卡死,后果更严重。因此,我个人的建议是,用满内存,但是还是要设置一点swap分区,1-2个G足够了,在内存被用到极限的边缘情况下,保持系统不卡死。

请先阅读这篇文章,学习swappiness参数的含义和设置:Linux SWAP交换分区应该设置多大?

开始设置Swap分区:

$ dd if=/dev/zero of=/swap bs=1024M count=2

使用dd命令,利用/dev/zero伪文件,生成一个根目录下的swap文件,大小2G;bs表示大小,count表示块数。

有时会出现这样的错误,dd: memory exhausted by input buffer of size xxxxxxxx bytes.....这是由于bs设置的过大,超过了系统内存,修改的方法就是将bs参数设置小一点,同时把count参数设置大一点,只要两者的乘机不变就OK。比如,我们可以把刚才那条命令修改为:

$ dd if=/dev/zero of=/swap bs=512M count=4
$ dd if=/dev/zero of=/swap bs=256M count=8
$ dd if=/dev/zero of=/swap bs=128M count=16

效果都是一样的!这个命令执行需要点时间,创建的swap文件越大,时间越长。

然后,将刚才创建的文件格式化成swap格式:

$ mkswap /swap

这时就可以激活swap分区了:

$ swapon /swap

这时系统会提示刚加载的swap文件的权限不安全,建议从0644修改为0600,使用这个命令修改:sudo chmod 0600 swap

卸载/swap分区:

swapoff /swap

要想在系统启动的时候,自动加载/swap分区,需要修改/etc/fstab文件,在这个文件中增加一行:

/swap swap swap defaults 0 0
xinlin@iZ239r252v4Z:~$
xinlin@iZ239r252v4Z:~$ cat /etc/fstab

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/vda1 during installation
UUID=93d70461-bd51-4276-8e7a-ca984d1af386 /               ext4    errors=remount-ro 0       1
/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0
/swap   swap   swap   defaults   0    0

查看swap分区的命令:swapon -s

这个命令可以看到详细的swap分区信息,相比只看总量的free命令,这个命令能看明细。

总的来说,在Linux系统下设置swap交换分区的操作还是比较简单的,关键是要理解其中各种参数的概念。

本文链接:https://www.maixj.net/ict/linux-swap-2-15254

相关文章

留言区

《设置Linux的Swap交换分区》有3条留言

  • 麦新杰

    CentOS中,swap跟/是并列的两个分区 []

  • 麦新杰

    Linux swap可以是一个独立的分区,也可以是一个文件。 []

    • 麦新杰

      Windows的swap默认是在系统分区,也可以单独分一个区出来,将其设置为swap,这个区容量不需要太大,其全部容量都用来做swap。 []


前一篇:
后一篇:

栏目精选

云上小悟,麦新杰的独立博客

Ctrl+D 收藏本页

栏目


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top