美文网首页
设置Linux的Swap交换分区

设置Linux的Swap交换分区

作者: 王贼臣 | 来源:发表于2020-05-04 22:53 被阅读0次

    设置Linux的Swap交换分区

    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

    <pre style="padding: 0px; margin: 1em 0px; box-sizing: content-box; font-family: Courier, monospace, serif; font-size: 15px; white-space: pre-wrap; overflow-wrap: break-word;"># /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</pre>

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

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

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

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

    相关文章

      网友评论

          本文标题:设置Linux的Swap交换分区

          本文链接:https://www.haomeiwen.com/subject/wpbughtx.html