Ubuntu调整swap大小的详细教程

教程大全 2026-01-08 13:21:43 浏览
目录

1. 找到swap文件位置

cat /proc/swaps

说明swap文件名称为swapfile,位于 / 根目录下

2. 停止swap文件

sudo swapoff /swapfile

3. 删除swap文件

sudo rm /swapfile

在根目录下找不到swapfile,说明删除成功

4. 创建新的swap文件,以创建64G大小为例

sudo dd if=/dev/zero of=/swapfile bs=1GB count=64

Linux dd 命令用于读取、转换并输出数据。dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。

if=文件名:输入文件名,默认为标准输入。即指定源文件。of=文件名:输出文件名,默认为标准输出。即指定目的文件。ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。bs=bytes:同时设置读入/输出的块大小为bytes个字节。cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。skip=blocks:从输入文件开头跳过blocks个块后再开始复制。seek=blocks:从输出文件开头跳过blocks个块后再开始复制。count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。conv=<关键字>,关键字可以有以下11种:conversion:用指定的参数转换文件。ascii:转换ebcdic为asciiebcdic:转换ascii为ebcdicibm:转换ascii为alternate ebcdicblock:把每一行转换为长度为cbs,不足部分用空格填充unblock:使每一行的长度都为cbs,不足部分用空格填充lcase:把大写字符转换为小写字符ucase:把小写字符转换为大写字符swap:交换输入的每对字节noerror:出错时不停止notrunc:不截短输出文件sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。--help:显示帮助信息--version:显示版本信息

5. 启用新的swap文件

# 先修改文件权限sudo chMod 600 /swapfile# 然后设置为swap文件sudo mkswap -f /swapfile# 最后启用swap文件sudo swapon /swapfile

6. 查看当前swap文件大小

free --giga
用法: free [选项]选项: -b, --bytes以字节显示输出--kilo使用千字节显示输出--mega使用兆字节显示输出--giga使用吉字节显示输出--tera使用太字节显示输出--petashow output in petabytes -k, --kibishow output in kibibytes -m, --mebishow output in mebibytes -g, --gibishow output in gibibytes--tebishow output in tebibytes--pebishow output in pebibytes -h, --human显示人类可读的输出--si使用 1000 的倍数而非使用 1024 -l, --lohishow detailed low and high memory statistics -t, --totalshow total for RAM + swap -s N, --seconds Nrepeat printing every N seconds -c N, --count Nrepeat printing N times, then exit -w, --wide宽版输出--help显示此帮助信息并退出 -V, --version显示程序版本然后离开

在根目录下也能看到新建的swapfile

7. 永久启用swap

swap
vim /etc/fstab

swapfile所在行内容如下即可

Ubuntu修改Swap交换空间大小

一、查看本机Swap交换空间的内存大小

命令如下

执行结果如下:

longzhiye@longzhiye-lapTop:~$ free -mtotalusedfreesharedbuff/cacheavailableMem:31995374306039101631142Swap:97665911

可以看到本机的Swap空间为976M左右,即1G空间。

下面我们将其扩大64G

二、创建Swap文件

输入密码后,切换root。

MKDIR /swap

建立swap文件夹

进入到swap文件夹

sudo dd if=/dev/zero of=swapfile bs=64M count=1k

建立swapfile,大小为bs*count = 64M * 1k = 64G

sudo mkswap -f swapfile

将生成的文件转换为Swap文件

执行结果如下:

longzhiye@longzhiye-laptop:~$ sudo -i[sudo] longzhiye 的密码:root@longzhiye-laptop:~# cd /root@longzhiye-laptop:/# mkdir /swaproot@longzhiye-laptop:/# cd swap/root@longzhiye-laptop:/swap# sudo dd if=/dev/zero of=swapfile bs=64M count=1k记录了1024+0 的读入记录了1024+0 的写出68719476736 bytes (69 GB, 64 GiB) copied, 276.311 s, 249 MB/sroot@longzhiye-laptop:/swap# sudo mkswap -f swapfileSetting up swapspace version 1, size = 64 GiB (68719472640 bytes)无标签, UUID=c7feaf13-7f02-4941-a07f-86a43bdf3ef5

三、激活Swap文件

sudo swapon swapfile

激活Swap文件,并重新查看Swap空间 内存

执行结果如下:

root@longzhiye-laptop:/swap# sudo swapon swapfileswapon: /swap/swapfile:不安全的权限 0644,建议使用 0600。root@longzhiye-laptop:/swap# free -mtotalusedfreesharedbuff/cacheavailableMem:3199538137493123831065Swap:665126466448

可以看到Swap空间内存从1G变为64G = 我们扩大的64G+原始的1G。

四、设置为永久Swap

未做此步骤,重启之前的设置都失效!!!!

sudo gedit /etc/fstab

更改swap路径。

# /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).### / was on /dev/sda2 during installationUUID=b726da21-83a0-497b-b3eb-a09f16403d60 /ext4errors=remount-ro 01# /boot/efi was on /dev/sda1 during installationUUID=C0BE-3630/boot/efivfatumask=007701#UUID=c7bb6d12-b247-4119-9c27-797f9995884e noneswapsw00/swap/swapfileswapswapsw00

五、扩展

如果需要卸载这个 swap 文件,可以进入建立的 swap 文件目录。执行下列命令。

sudo swapoff swapfile

如果需要一直保持这个 swap ,可以把它写入 /etc/fstab 文件。

/swap/swapfile /swap swap defaults 0 0

以上就是Ubuntu调整swap大小的详细内容,更多相关资料请阅读主机测评网其它文章!

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐