返回顶部
首页 > 资讯 > 操作系统 >在Ubuntu 18.04上添加交换空间的方法
  • 370
分享到

在Ubuntu 18.04上添加交换空间的方法

Ubuntu添加交换空间Ubuntu交换空间 2022-06-04 22:06:51 370人浏览 泡泡鱼
摘要

https://www.digitalocean.com/... 如何在Ubuntu 18.04上添加交换空间 Brian Boucheron 本教程的先前版本由Justin Ellingwood编写 介绍 防范应用程序

https://www.digitalocean.com/...

如何在Ubuntu 18.04上添加交换空间

Brian Boucheron

教程的先前版本由Justin Ellingwood编写

介绍

防范应用程序内存不足错误的最简单方法之一是为服务器添加一些交换空间。在本指南中,我们将介绍如何将交换文件添加到 ubuntu 18.04服务器。

警告 :虽然通常建议对使用传统旋转硬盘驱动器的系统进行交换,但使用SSD交换可能会导致硬件随着时间的推移而出现问题。出于这种考虑,我们不建议在任何使用SSD存储的上启用交换。这样做会影响您的底层硬件的可靠性。本指南是为可能在其他地方使用旋转磁盘系统的用户提供的参考。

什么是交换?

交换是硬盘驱动器上的一个区域,它被指定为操作系统可以临时存储无法再保存在RAM中的数据的位置。基本上,这使您能够增加服务器在其工作“内存”中保留的信息量,但有一些注意事项。硬盘驱动器上的交换空间将主要用于RAM中不再有足够空间来保存正在使用的应用程序数据。

写入磁盘的信息将比RAM中保存的信息慢得多,但操作系统更愿意在内存中运行应用程序数据,并使用交换旧数据。总的来说,将交换空间作为系统RAM耗尽时的后备空间,可以很好地防范具有非SSD存储的系统上的内存不足异常。

步骤1 - 检查系统的交换信息

在开始之前,我们可以检查系统是否已经有一些可用的交换空间。可以有多个交换文件或交换分区,但通常一个就足够了。

我们可以通过键入以下内容来查看系统是否已配置任

sudo swapon --show

如果您没有收到任何输出,这意味着您的系统当前没有可用的交换空间。

您可以使用该free实用程序验证没有活动交换:

free -h

输出

total        used        free      shared  buff/cache   available
Mem:           985M         84M        222M        680K        678M        721M
Swap:            0B          0B          0B

正如您在输出的Swap行中看到的那样,系统上没有活动交换。

第2步 - 检查硬盘驱动器分区上的可用空间

在我们创建交换文件之前,我们将检查当前的磁盘使用情况,以确保我们有足够的空间。通过输入:

df -h

输出

Filesystem      Size  Used Avail Use% Mounted on
udev            481M     0  481M   0% /dev
tmpfs            99M  656K   98M   1% /run
/dev/vda1        25G  1.4G   23G   6% /
tmpfs           493M     0  493M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           493M     0  493M   0% /sys/fs/cgroup
/dev/vda15      105M  3.4M  102M   4% /boot/efi
tmpfs            99M     0   99M   0% /run/user/1000

在这种情况下/,Mounted on列中的设备是我们的磁盘。在这个例子中我们有足够的空间(仅使用1.4G)。您的使用可能会有所不同。

虽然对于交换空间的适当大小有很多意见,但这实际上取决于您的个人偏好和您的应用程序要求。通常,等于或加倍系统RAM的量是一个很好的起点。另一个好的经验法则是,如果您只是将其用作RAM后备,那么任何超过4G的交换都可能是不必要的。

第3步 - 创建交换文件

现在我们知道了可用的硬盘空间,我们可以在文件系统上创建一个交换文件。我们将swapfile在根(/)目录中分配我们想要调用的交换大小的文件。

创建交换文件的最佳方法是使用该fallocate程序。此命令立即创建指定大小的文件。

由于我们示例中的服务器具有1G的RAM,因此我们将在本指南中创建1G文件。调整此项以满足您自己的服务器的需求:

sudo fallocate -l 1G /swapfile

我们可以通过输入以下内容来验证是否保留了正确的空间量:

ls -lh /swapfile
-rw-r--r-- 1 root root 1.0G Apr 25 11:14 /swapfile

我们的文件创建时留出了正确的空间。

第4步 - 启用交换文件

现在我们有一个正确大小的文件,我们需要实际将其转换为交换空间。

首先,我们需要定文件的权限,以便只有具有root权限的用户才能读取内容。这可以防止普通用户访问该文件,这会产生严重的安全隐患。

通过键入以下内容使该文件只能由root访问:

sudo chmod 600 /swapfile

键入以下命令验证权限更改:

ls -lh /swapfile

输出

-rw------- 1 root root 1.0G Apr 25 11:14 /swapfile

如您所见,只有root用户启用了读写标志。

我们现在可以通过输入以下内容将文件标记为交换空间

sudo mkswap /swapfile

输出t

Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=6e965805-2ab9-450f-aed6-577e74089dbf

标记文件后,我们可以启用交换文件,允许我们的系统开始使用它:

sudo swapon /swapfile

输入以下内容验证交换是否可用:

sLuMjHBcpmTudo swapon --show

输出

NAME      TYPE  SIZE USED PRIO
/swapfile file 1024M   0B   -2

我们可以free再次检查该实用程序的输出以证实我们的发现:

free -h

输出

total        used        free      shared  buff/cache   available
Mem:           985M         84M        220M        680K        680M        722M
Swap:          1.0G          0B        1.0G

我们的交换已成功设置,我们的操作系统将在必要时开始使用它。

第5步 - 使交换文件永久化

我们最近的更改已启用当前会话的交换文件。但是,如果我们重新启动,服务器将不会自动保留交换设置。我们可以通过将交换文件添加到我们的/etc/fstab文件来更改此设置。

/etc/fstab如果出现任何问题,请备份该文件:

sudo cp /etc/fstab /etc/fstab.bak

/etc/fstab键入以下内容,将交换文件信息添加到文件末尾:

echo '/swapfile none swap sw 0 0' | suLuMjHBcpmTdo tee -a /etc/fstab

接下来,我们将回顾一些我们可以更新的设置以调整我们的交换空间。

第6步 - 调整交换设置

您可以配置一些选项,这些选项会在处理交换时对系统的性能产生影响。

调整Swappiness属性

该 swappiness 参数配置系统将数据从 RAM 交换到交换空间的频率。这是介于0和100之间的值,表示百分比。

值接近于零时,除非绝对必要,否则内核不会将数据交换到磁盘。请记住,与交换文件的交互是“昂贵的”,因为它们比与RAM的交互花费更长的时间,并且它们可能导致性能的显着降低。告诉系统不要太依赖交换,通常会使您的系统更快。

接近100的值将尝试将更多数据放入交换中以努力保持更多RAM空间。根据应用程序的内存配置文件或服务器的使用情况,在某些情况下可能会更好。

我们可以通过输入以下内容来查看当前的 swappiness 值:

cat /proc/sys/vm/swappiness

输出

对于桌面,swappiness设置为60并不是一个糟糕的值。对于服务器,您可能希望将其移近0。

我们可以使用该sysctl命令将swappiness设置为不同的值。

例如,要将swappiness设置为10,我们可以键入:

sudo sysctl vm.swappiness=10

输出

vm.swappiness = 10

此设置将持续到下次重新启动。我们可以通过在/etc/sysctl.conf文件中添加以下行来自动设置此值:

sudo nano /etc/sysctl.conf

在 /etc/sysctl.conf 底部,您可以添加:

vm.swappiness=10

完成后保存并关闭文件。

调整缓存压力设置

您可能想要修改的另一个相关值是 vfs_cache_pressure。此设置配置系统将选择多少缓存 inode 和 dentry信息而不是其他数据。

基本上,这是关于文件系统的访问数据。这通常是非常昂贵的查询和非常频繁的请求,所以这是您的系统缓存的一个很好的事情。您可以通过 proc 再次查询文件系统来查看当前值:

cat /proc/sys/vm/vfs_cache_pressure

输出

由于它当前已配置,我们的系统会过快地从缓存中删除 inode 信息。我们可以通过输入以下内容将其设置为更保守的设置(如50):

sudo sysctl vm.vfs_cache_pressure=50

输出

vm.vfs_cache_pressure = 50

同样,这仅适用于我们当前的会话。我们可以通过将其添加到配置文件来改变它,就像我们使用swappiness设置一样:

sudo nano /etc/sysctl.conf

在/etc/sysctl.conf底部,添加指定新值的行:

vm.vfs_cache_pressure=50

完成后保存并关闭文件。

结论

按照本指南中的步骤将为您提供一些 swap 空间,否则会导致内存不足异常。交换空间在避免一些常见问题方面非常有用。

如果遇到OOM(内存不足)错误,或者如果发现系统无法使用所需的应用程序,最佳解决方案是优化应用程序配置或升级服务器。

总结

以上所述是小编给大家介绍的在Ubuntu 18.04上添加交换空间的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

--结束END--

本文标题: 在Ubuntu 18.04上添加交换空间的方法

本文链接: https://lsjlt.com/news/20313.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 在Ubuntu 18.04上添加交换空间的方法
    https://www.digitalocean.com/... 如何在Ubuntu 18.04上添加交换空间 Brian Boucheron 本教程的先前版本由Justin Ellingwood编写 介绍 防范应用程序...
    99+
    2022-06-04
    Ubuntu 添加交换空间 Ubuntu 交换空间
  • CentOS7上怎么添加Swap交换空间
    这篇文章主要讲解了“CentOS7上怎么添加Swap交换空间”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CentOS7上怎么添加Swap交换空间”吧!前言如何让服务器响应更快?如何避免应用...
    99+
    2023-06-10
  • 在Linux系统上如何增加swap交换空间
    本篇文章给大家分享的是有关在Linux系统上如何增加swap交换空间,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在Linux系统中增加服务器swap交换空间大小是为了防止应用...
    99+
    2023-06-28
  • Ubuntu 18.04更换apt-get源的方法
    使用apt-get安装时,会很慢,更换了国内的源后,就可以解决这个问题了。 1. 备份sources.list文件 sudo cp /etc/apt/sources.list /etc/apt/sources.lis...
    99+
    2022-06-04
    Ubuntu 18.04更换apt-get源 Ubuntu apt-get
  • 在linux上如何使用交换文件扩展交换空间
    这篇文章给大家分享的是有关在linux上如何使用交换文件扩展交换空间的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。想像一种情景,当我们的Linux系统用尽交换空间时,在这种情况下,我们想要使用swap分区扩展交换...
    99+
    2023-06-16
  • 在Ubuntu 18.04中安装MySQL 8.0的方法
    这篇文章主要介绍在Ubuntu 18.04中安装MySQL 8.0的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!MySQL社区服务器是一个免费的开源、流行、跨平台的数据库管理系...
    99+
    2024-04-02
  • Centos7中添加、删除Swap交换分区的方法
    Swap介绍: linux 将物理内存分为内存段,叫做页面。交换是指内存页面被复制到预先设定好的硬盘空间(叫做交换空间)的过程,目的是释放对于页面的内存。物理内存和交换空间的总大小是可用的虚拟内存的总量。 Swap即:交...
    99+
    2022-06-04
    centos添加swap分区 centos7 创建swap分区 centos swap分区
  • 如何在阿里云服务器上添加空间
    阿里云服务器是一种基于云计算技术的计算资源,它提供了多种服务,包括计算、存储、网络、安全、数据库等。在使用阿里云服务器时,我们可能需要添加空间,以便存储各种文件和数据。本文将详细介绍如何在阿里云服务器上添加空间。 在阿里云服务器上添加空间非...
    99+
    2023-12-14
    阿里 器上 如何在
  • Linux系统上交换空间的示例分析
    小编给大家分享一下Linux系统上交换空间的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!交换空间交换空间是现代 Linux 系统中的第二种内存类型。交换...
    99+
    2023-06-16
  • Ubuntu上释放空间的5种简单方法
    前言 大多数人可能在系统磁盘存储不足的情况下执行释放空间这个操作,也可能在 linux 系统磁盘存储满了的情况下执行这个操作。 它应该被经常执行,来为安装一个新的应用程序和处理其它文件弥补磁盘存储空间。保持可用空间是 L...
    99+
    2022-06-04
    ubuntu释放内存命令 ubuntu释放空间
  • Ubuntu添加swap分区的方法
    前段时间上车了腾讯云 360 买三年多的学生机的活动,加上降配总共获得 6 年,然而内存降到 1G 后,跑个 mysql 时间长了内存都不够。而且腾讯云的 ubuntu 不知道什么原因 1G 内存实际只有 800+M,更...
    99+
    2022-06-04
    Ubuntu添加swap分区 添加swap分区
  • 怎么在Linux系统上使用交换文件扩展swap空间
    本篇内容主要讲解“怎么在Linux系统上使用交换文件扩展swap空间”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在Linux系统上使用交换文件扩展swap空间”吧!想像一种情景,当我们的L...
    99+
    2023-06-12
  • java空间换时间的方法是什么
    Java空间换时间的方法是使用缓存。在程序运行过程中,将一些计算结果或者数据保存在缓存中,当需要使用的时候直接从缓存中取出,避免了重...
    99+
    2023-05-31
    java空间 java 空间
  • Python和JavaScript间交换数据的方法
    telepath是一个Django库,用于在Python和JavaScript之间交换数据,使您可以构建具有丰富客户端接口的应用程序,同时将业务逻辑保留在服务器端代码中。它有什么作用它提供了一种将包括Python对象在内的结构化数据打包为J...
    99+
    2023-05-14
    Python JavaScript
  • 怎么在Ubuntu Linux上释放/boot分区的空间
    这篇文章将为大家详细讲解有关怎么在Ubuntu Linux上释放/boot分区的空间,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前几天,我收到一个警告,/boot 分区已经几乎满了,没有剩余空...
    99+
    2023-06-15
  • Ubuntu设置交换内存的方法是什么
    本篇内容介绍了“Ubuntu设置交换内存的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.打开终端命令行模式,输入以下命令查看系...
    99+
    2023-07-04
  • 在Python中交换变量的方法
    这篇文章将为大家详细讲解有关在Python中交换变量的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。交换变量在有些编程语言中,交换两个变量一般需要使用临时变量,而在P...
    99+
    2024-04-02
  • Git初始化查看添加提交的方法
    这篇文章主要讲解了“Git初始化查看添加提交的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Git初始化查看添加提交的方法”吧!1、Git最基础的使用方式(1)初始化本地版本库要对现有的...
    99+
    2023-06-30
  • 在 Ubuntu 上安装 pip的方法
    1.为 python 2 安装 pSjDQhip 首先,确保已经安装了 Python 2。 在 Ubuntu 上,可以使用以下命令进行验证 python2 --version 如果没有错误并且显示了 Python 版本的...
    99+
    2022-06-04
    Ubuntu 安装 pip
  • 怎么在JavaScript字符串的字符之间添加空格
    这篇文章主要讲解了“怎么在JavaScript字符串的字符之间添加空格”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在JavaScript字符串的字符之间添加空格”吧!1.String ...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作