防止应用程序内存不足的最简单方法之一是增加服务器中的swap交换空间大小。在本文中,我们将解释如何向Ubuntu服务器增加swap交换空间。

步骤1:检查swap交换空间信息

在开始之前,首先运行以下命令,确保检查系统是否已经有可用的交换空间。

linuxidc@linuxidc:~/www.linuxidc.com$ sudo swapon --show

[sudo] linuxidc 的密码:

NAME      TYPE SIZE USED PRIO

/swapfile file  2G  0B  -2

检查Ubuntu中的交换空间

如果您没有看到任何输出,则表示您的系统当前没有可用的交换空间。

您还可以使用free命令确认没有可用的交换空间。

linuxidc@linuxidc:~/www.linuxidc.com$ free -h

总计        已用        空闲      共享    缓冲/缓存    可用

内存:        3.8G        1.5G        569M        32M        1.8G        2.1G

交换:        2.0G          0B        2.0G

Ubuntu中的交换空间为2G

您可以从上面的输出中看到,系统上没有活动交换。

第2步:检查分区上的可用空间

要创建交换空间,首先需要检查当前的磁盘使用情况,并确认有足够的空间在系统上创建交换文件。

检查Ubuntu中的文件系统磁盘使用情况

再 /的分区有足够的空间可用于创建swap文件。

第3步:在Ubuntu中创建swap文件

现在我们将使用fallocate命令在我们的Ubuntu根(/)目录上创建一个名为“swap.img”的交换文件(大小为1GB),您可以根据需要调整大小。并使用ls命令验证交换的大小 如图所示。

linuxidc@linuxidc:~/www.linuxidc.com$ sudo fallocate -l 1G /swap.img

[sudo] linuxidc 的密码:

linuxidc@linuxidc:~/www.linuxidc.com$ ls -lh /swap.img

-rw-r--r-- 1 root root 1.0G Jul 26 01:54 /swap.img

在Ubuntu中创建swap文件

从上面的输出中,您可以看到我们已经创建了具有正确空间量(即1GB)的交换文件。

第4步:在Ubuntu中启用swap文件

要在Ubuntu中启用swap文件,首先需要在文件上设置正确的权限,以便只有root用户才能访问该文件。

linuxidc@linuxidc:~/www.linuxidc.com$ sudo chmod 600 /swap.img

linuxidc@linuxidc:~/www.linuxidc.com$ ls -lh /swap.img

-rw------- 1 root root 1.0G Jul 26 01:54 /swap.img

在交换文件上swap权限

从上面的输出中,您可以看到只有root用户具有读写权限。

现在运行以下命令将文件标记为swap交换空间,并启用交换文件以开始在系统上使用它。

linuxidc@linuxidc:~/www.linuxidc.com$ sudo mkswap /swap.img

正在设置交换空间版本 1,大小 = 1024 MiB (1073737728  个字节)

无标签, UUID=735aa07f-d43e-4cec-92e3-383815de7317

linuxidc@linuxidc:~/www.linuxidc.com$ sudo swapon /swap.img

在Ubuntu中启用swap交换空间

通过运行以下命令验证交换空间是否可用。

linuxidc@linuxidc:~/www.linuxidc.com$ sudo swapon --show

NAME      TYPE  SIZE USED PRIO

/swapfile file    2G  0B  -2

/swap.img file 1024M  0B  -3

linuxidc@linuxidc:~/www.linuxidc.com$ free -h

总计        已用        空闲      共享    缓冲/缓存    可用

内存:        3.8G        1.5G        549M        32M        1.8G        2.0G

交换:        3.0G          0B        3.0G

验证Ubuntu中的交换空间

从上面的输出中可以看出,我们的新交换文件已经成功创建,我们的Ubuntu系统将在必要时开始使用它。

第5步:在Ubuntu中永久挂载交换文件

要使交换空间永久化,您需要在/etc/fstab文件中添加交换文件信息,并通过运行以下命令对其进行验证。

第6步:调整Ubuntu中的交换设置

您需要配置一些设置,这些设置会影响您在使用交换时的Ubuntu性能。

调整Swappiness值

Swappiness是一个Linux内核参数,用于指定系统将数据从RAM交换到交换空间的频率(以及频率)。 此参数的默认值为“60”,它可以使用“0”到“100”之间的任何值。 值越高,内核使用的交换空间越高。

首先,键入以下命令检查当前的swappiness值。

linuxidc@linuxidc:~/www.linuxidc.com$ cat /proc/sys/vm/swappiness

60

检查Swappiness值

当前的swappiness值为60非常适合桌面使用,但对于服务器,您必须将其设置为较低的值,即10。

linuxidc@linuxidc:~/www.linuxidc.com$ sudo sysctl vm.swappiness=10

要使此设置永久化,您需要将以下行添加到/etc/sysctl.conf文件中。

vm.swappiness=10

调整缓存压力设置

您可能想要更改的另一个类似设置是vfs_cache_pressure  - 此设置指定系统要在其他数据上缓存inode和dentry详细信息的程度。

您可以通过查询proc文件系统来检查当前值。

linuxidc@linuxidc:~/www.linuxidc.com$ cat /proc/sys/vm/vfs_cache_pressure

100

检查缓存压力设置

当前值设置为100,这意味着我们的系统会过快地从缓存中删除inode信息。 我建议,我们应该将它设置为更稳定的设置,如50。

linuxidc@linuxidc:~/www.linuxidc.com$ sudo sysctl vm.vfs_cache_pressure=50

要使此设置永久化,您需要将以下行添加到/etc/sysctl.conf文件中。

vm.vfs_cache_pressure=50

完成后保存并关闭文件。

第7步:删除Ubuntu中的交换文件

要删除或删除新创建的交换文件,请运行以下命令。

linuxidc@linuxidc:~/www.linuxidc.com$ sudo swapoff -v /swap.img

swapoff /swap.img

linuxidc@linuxidc:~/www.linuxidc.com$ sudo rm -rf /swap.img

最后,从/etc/fstab文件中删除交换文件条目。

就这样! 在本文中,我们已经解释了如何在Ubuntu发行版上创建swap交换文件。 如果您对本文有任何疑问,请随时在下面的评论部分提出您的问题。

Linux怎么添加交换空间,如何在Ubuntu上增加swap交换空间相关推荐

  1. linux桌面添加软件快捷方式,如何在 Ubuntu 桌面手动添加应用快捷方式

    原标题:如何在 Ubuntu 桌面手动添加应用快捷方式 在这篇快速指南中,你将学到如何在 Ubuntu 桌面和其他使用 GNOME 桌面的发行版中添加应用图标. -- Abhishek Prakash ...

  2. linux deb文件安装_如何在 Ubuntu 上安装 VirtualBox | Linux 中国

    本新手教程解释了在 Ubuntu 和其他基于 Debian 的 Linux 发行版上安装 VirtualBox 的各种方法.-- Abhishek Prakash Oracle 公司的自由开源产品 V ...

  3. linux 增加交换空间,在linux上增加swap交换空间

    增加交换空间有两种方法: 严格的说,在系统安装完后只有一种方法可以增加swap,那就是本文的第二种方法, 至于第一种方法应该是安装系统时设置交换区. 1.使用分区: 在安装OS时划分出专门的交换分区, ...

  4. linux generic什么意思_如何在 Ubuntu Linux 上释放 /boot 分区的空间? | Linux 中国

    导读:前几天,我收到一个警告,/boot 分区已经几乎满了,没有剩余空间了. 本文字数:2868,阅读时长大约:4分钟https://linux.cn/article-12779-1.html作者:A ...

  5. linux如何加辅助ip,如何在 Ubuntu 系统中添加一个辅助 IP 地址

    Linux 管理员应该意识到这一点,因为这是一项例行任务.很多人想知道为什么我们需要在服务器中添加多个 IP 地址,以及为什么我们需要将它添加到单块网卡中?我说的对吗? 你可能也会有类似的问题:在 L ...

  6. linux卸载kodi,如何在Ubuntu上安装Kodi 18 Beta

    Kodi的Beta版周期很长.很棒,因为它有助于将错误排除在生产版本之外,而且还可以保留数月的新功能.值得庆幸的是,Kodi开发人员提供了可供测试和使用的"unstable"软件包 ...

  7. r语言使用linux命令,技术|如何在 Ubuntu 上安装和使用 R 语言

    这个教程指导你如何在 Ubuntu 上安装 R 语言.你也将同时学习到如何在 Ubuntu 上用不同方法运行简单的 R 语言程序. R,和 Python 一样,它是在统计计算和图形处理上最常用的编程语 ...

  8. linux+usb刻录,如何在Ubuntu上安装Etcher-开源USB刻录机工具

    如何在Ubuntu上安装Etcher-开源USB刻录机工具 Mark Do 2017年5月20日 暂无评论 阅读 4,988 次 Etcher是一款跨平台的USB镜像文件写入工具,在Windows.m ...

  9. Linux拉取yarn配置文件,如何在 Ubuntu 16.04/18.04 上安装 Yarn

    在本教程中,我们将向您展示如何在 Ubuntu 16.04 或 Ubuntu 18.04 系统上安装 Yarn. 什么是Yarn? Yarn 是一个代码的包管理器. 它允许您与世界各地的其他开发人员一 ...

最新文章

  1. 运行第一个 Service - 每天5分钟玩转 Docker 容器技术(96)
  2. JS面向对象一:MVC的面向对象封装
  3. 2020 年,Linux 设备或将爆炸式增长
  4. 二、分布式文件系统HDFS及其简单使用
  5. parzen窗估计如何进行结果分析_实现一下模式识别(一)Parzen窗估计
  6. 诗与远方:无题(一)
  7. placeholder—Jquery插件placeholder的使用方法
  8. 如何解决CAN FD与CAN网络共存问题
  9. matlab能不能查焓湿图,用MATLAB绘制南昌地区室外气象焓湿频图程序.docx
  10. JavaSE、JavaEE、JavaME之间的区别
  11. 【python6】快递分拣小程序
  12. 20190904_chip-seq/ ATAC-seq/DAP-seq 原理理解
  13. 正大国际琪貨纯手召:期货交易中的五大忌
  14. 多线段几何图形—— 简单几何图形(布尔运算)
  15. C#调用存储过程带输出参数或返回值分类(转)
  16. 【Unity3D】拖尾TrailRenderer
  17. EXCEL中定义名称
  18. python 高级部分
  19. 认识异或运算的本质与基本规律,0^x=x,x异或x=0,有交换律,结合律,与顺序无关
  20. 【大数据入门核心技术-HBase】(九)Hbase协处理器coprocessor

热门文章

  1. 深层神经网络——总结
  2. Ubuntu18.04 测试Azure Kinect DK 安装Azure Kinect传感器SDK
  3. 今晚直播 | Oracle技术加油站:快速处理紧急性能问题的工具与经验
  4. 带你掌握C++中三种类成员初始化方式
  5. HDC.Cloud2021|开发者们都在谈的云原生到底长什么样?
  6. 从相识到相惜:Redis与计算存储分离四部曲
  7. 【华为云技术分享】STM32L476移植华为LiteOS系列教程------背景知识 1
  8. 要想深入理解mysql索引?这16个点你必须要了解!
  9. Flask 蓝图机制及应用
  10. lora终端连接云服务器_物联网通讯技术三足鼎立形成:NB-IoT、eMTC、LoRa各有千秋...