Ubuntu调整swap大小的详细教程
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为ascii ebcdic:转换ascii为ebcdic ibm:转换ascii为alternate ebcdic block:把每一行转换为长度为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 使用太字节显示输出 --peta show output in petabytes -k, --kibi show output in kibibytes -m, --mebi show output in mebibytes -g, --gibi show output in gibibytes --tebi show output in tebibytes --pebi show output in pebibytes -h, --human 显示人类可读的输出 --si 使用 1000 的倍数而非使用 1024 -l, --lohi show detailed low and high memory statistics -t, --total show total for RAM + swap -s N, --seconds N repeat printing every N seconds -c N, --count N repeat printing N times, then exit -w, --wide 宽版输出 --help 显示此帮助信息并退出 -V, --version 显示程序版本然后离开
在根目录下也能看到新建的swapfile
7. 永久启用swap
vim /etc/fstab
swapfile所在行内容如下即可
Ubuntu修改Swap交换空间大小
一、查看本机Swap交换空间的内存大小
命令如下
free -m
执行结果如下:
longzhiye@longzhiye-laptop:~$ free -m total used free shared buff/cache available Mem: 31995 374 30603 9 1016 31142 Swap: 976 65 911
可以看到本机的Swap空间为976M左右,即1G空间。
下面我们将其扩大64G
二、创建Swap文件
sudo -i
输入密码后,切换root。
mkdir /swap
建立swap文件夹
cd /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 /swap root@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/s root@longzhiye-laptop:/swap# sudo mkswap -f swapfile Setting up swapspace version 1, size = 64 GiB (68719472640 bytes) 无标签, UUID=c7feaf13-7f02-4941-a07f-86a43bdf3ef5
三、激活Swap文件
sudo swapon swapfile
free -m
激活Swap文件,并重新查看Swap空间 内存
执行结果如下:
root@longzhiye-laptop:/swap# sudo swapon swapfile swapon: /swap/swapfile:不安全的权限 0644,建议使用 0600。 root@longzhiye-laptop:/swap# free -m total used free shared buff/cache available Mem: 31995 381 374 9 31238 31065 Swap: 66512 64 66448
可以看到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 installation UUID=b726da21-83a0-497b-b3eb-a09f16403d60 / ext4 errors=remount-ro 0 1 # /boot/efi was on /dev/sda1 during installation UUID=C0BE-3630 /boot/efi vfat umask=0077 0 1 #UUID=c7bb6d12-b247-4119-9c27-797f9995884e none swap sw 0 0 /swap/swapfile swap swap sw 0 0
五、扩展
如果需要卸载这个 swap 文件,可以进入建立的 swap 文件目录。执行下列命令。
sudo swapoff swapfile
如果需要一直保持这个 swap ,可以把它写入 /etc/fstab 文件。
/swap/swapfile /swap swap defaults 0 0
以上就是Ubuntu调整swap大小的详细内容,更多相关资料请阅读主机测评网其它文章!
本文由主机测评网发布,不代表主机测评网立场,转载联系作者并注明出处:https://zhuji.jb51.net/ubuntu/8593.html