SWAP,拯救丐版内存

文章介绍了Swap分区在Linux系统中的作用,它是如何作为虚拟内存来缓解物理内存不足的问题。通过创建、调整Swap分区的大小,以及监控Swap使用情况,可以优化系统性能。此外,还讨论了如何通过设置vm.swappiness参数来控制Swap的使用率,以适应不同应用需求。
摘要由CSDN通过智能技术生成

前言

之前租了个三年的丐版阿里云,1核2G内存。最近想搭建个ES集群,记过内存一直不足,经常导致系统崩溃!程序猿,懂得都懂,既不想加钱升级,也不想就此放弃,那就玩个性能差的,用时间换空间吧!!!

当系统的内存不足时,操作系统会使用硬盘上的空间来充当虚拟内存。这种硬盘上的虚拟内存被称为swap。在本文中,我们将了解什么是swap,以及如何使用和管理它。

Swap

什么是Swap

Swap是一种虚拟内存,它允许操作系统将内存页面移动到硬盘上,以释放物理内存以供其他用途使用。当系统需要更多的内存时,它可以将一些不常使用的内存页面从RAM中移到swap分区中,并将空出来的内存页面用于重要任务。这意味着,尽管您的系统只有有限的RAM,但您可以使用swap来模拟更大的内存容量。

如何创建Swap分区

在Linux系统中,通常使用磁盘分区作为swap分区。要创建一个新的swap分区,您可以按照以下步骤进行操作:

  1. 检查系统是否已经存在swap分区:

    [root@Genterator opt]# sudo swapon --show
    

    如果输出为空,则表示系统没有启用swap分区。

  2. 创建一个新的swap分区文件:

    [root@Genterator opt]# sudo fallocate -l 4G /swapfile
    

    这将创建一个名为/swapfile的2GB大小的文件。

  3. 将文件格式化为swap:

    [root@Genterator opt]# sudo mkswap /swapfile
    mkswap: /swapfile: warning: wiping old swap signature.
    Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)
    no label, UUID=b008a302-3d9a-4b9b-9c09-fc1a0eef1987
    
  4. 启用新的swap分区:

    [root@Genterator opt]# sudo swapon /swapfile
    
  5. 检查是否启用成功

    [root@Genterator opt]# sudo swapon --show
    NAME      TYPE SIZE USED PRIO
    /swapfile file   4G   0B   -2
    

    注意:
    永久设置swap分区:此创建为临时分区,重启系统后,分区就会消失, 如果想永久swap分区,需设置永久

  6. 永久设置swap分区:
    将以下行添加到/etc/fstab文件中:

    /swapfile swap swap defaults 0 0

如何调整Swap大小

如果您发现系统上的swap分区不足,请按照以下步骤来扩展或缩小swap分区:

  1. 禁用swap分区:

    [root@Genterator opt]# sudo swapoff /swapfile
    
  2. 调整swap文件大小:

    [root@Genterator opt]#  sudo fallocate -l <new-size>G /swapfile
    

    其中,是您要设置的新的swap分区大小。

  3. 将文件格式化为swap:

    [root@Genterator opt]#  sudo mkswap /swapfile
    
  4. 启用新的swap分区:

    [root@Genterator opt]#  sudo swapon /swapfile
    
  5. 更新/swapfile在/etc/fstab文件中的条目以反映新的大小。

如何监视Swap使用情况

要查看系统上的swap使用情况,请执行以下命令:

[root@Genterator opt]# sudo swapon --show

此命令将显示系统中所有启用的swap分区的信息。

要检查使用的swap空间量,请执行以下命令:

[root@Genterator opt]#  sudo free -h

此命令将显示系统上可用的物理内存,已使用的内存和正在使用的swap空间量等信息。

结论
Swap分区可在RAM不足时充当虚拟内存。在Linux系统中,您可以使用磁盘分区作为swap分区,并通过调整其大小来优化系统性能。使用上述方法,您可以轻松地创建、调整和监视swap分区,以确保系统具有足够的内存容量来运行所有任务。

如何设置Swap使用率

vm.swappiness 是一个 Linux 内核参数,它控制了系统在内存不足时会使用多少 swap 空间。默认情况下,vm.swappiness 的值为 60,这意味着系统会尽可能地使用 swap 空间,以便释放物理内存。但是,在某些情况下,这可能会对性能产生负面影响,例如在使用大量内存的应用程序(如 Elasticsearch)时。因此,将 vm.swappiness 的值设置为 1 可以降低系统使用 swap 空间的程度,从而提高性能。但是,这也意味着系统可能会更快地耗尽物理内存,因此你需要根据实际情况权衡利弊,并进行适当的调整。

  • 临时设置
    在主机上使用 sysctl 命令来更改 vm.swappiness 参数的值。例如,要将 vm.swappiness 的值设置为 10,可以执行以下命令:
    sysctl vm.swappiness=10
    
  • 永久设置
    如果你想要永久更改 vm.swappiness 参数的值,可以编辑 /etc/sysctl.conf 文件,并添加以下行:
    vm.swappiness=10
    
    然后保存文件并重新加载配置:
    sudo sysctl -p
    
    这样就可以将 vm.swappiness 参数的值设置为 10 并使其永久生效了。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值