ubuntu设置swap step by step
创始人
2025-05-29 14:00:24
0

在服务器中通过free -h可以看到有一个叫做swap的东西,这是服务器用硬盘制作的交换空间。在服务器内存不够时,将会使用这部分空间,但是如果swap空间不足很容易导致被使用的swap占swap总量变大,将会导致系统速度变慢。

步骤一:检查系统中的swap

sudo swapon --show
NAME TYPE SIZE USED PRIO
/dev/dm-1 partition 16G 111.8M -2

我们也可以使用free查看总的Swap大小

free -h
total used free shared buff/cache available
Mem: 125G 1.4G 10G 13M 113G 123G
Swap: 8G 129M 8G

步骤二:创建交换交换文件

sudo fallocate -l 125G /swap2.img

我们需要调整该文件的权限,否则如果其他人修改文件,将会造成隐患

ls -lh /swap2.img
-rw-r--r-- 1 root root 125G Mar 17 16:09 /swap2.img
sudo chmod 600 /swapfile
ls -lh /swap2.img
-rw------- 1 root root 125G Mar 17 16:09 /swap2.img

步骤三:启用交换文件

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

sudo mkswap /swap2.img 

这将输出

Setting up swapspace version 1, size = 125 GiB (134217723904 bytes)
no label, UUID=786bd22c-2e4b-44fe-a5fc-c3a3267fe262

标记文件后,我们可以启用交换文件

sudo swapon /swap2.img

我们重新查看swap,可以看到我们新增的交换空间

sudo swapon --show
sudo swapon --show
NAME TYPE SIZE USED PRIO
/dev/dm-1 partition 16G 111.8M -2
/swap2.img file 125G 0B -3

步骤五:使交换文件永久生效

上面我们设置了交换空间,但是重启服务器后,交换空间将不会自动神效,我们需要在服务器挂载阶段把交换问价挂载到交换空间

sudo cp /etc/fstab /etc/fstab.bak
echo '/swap2.img none swap sw 0 0' | sudo tee -a /etc/fstab

步骤六:调整swappiness

该参数配置系统将数据从 RAM 交换到交换空间的频率。这是一个介于 0 和 100 之间的值,当值为100,内存为0也会使用交换空间,当值为0时,内存满了也不会使用交换空间,这里我们设置一个合理的值

sudo sysctl vm.swappiness=10

上面的设置重启后会失效,如果要长期生效,请修改下面的文件

sudo vim /etc/sysctl.conf

在文件最后,加上

vm.swappiness=10

步骤七:调整vfs_cache_pressure

vfs_cache_pressure的值再0-100之间,这个值控制内核在进行缓存时对 inode 和 dentry 信息进行缓存的优先级。为100时,统从缓存中删除索引节点信息的速度过快,会导致系统变慢

cat /proc/sys/vm/vfs_cache_pressure

修改下面的文件,新增一行,重启后将会生效

sudo nano /etc/sysctl.conf
vm.vfs_cache_pressure=50

参考:如何在 Ubuntu 20.04 上添加交换空间 |数字海洋 (digitalocean.com)

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...