20241209给Ubuntu20.04系统的的交换分区增加为20GB的步骤
20241209给Ubuntu20.04系统的的交换分区增加为20GB的步骤
2024/12/9 21:10
缘起,编译中科创达的高通CM6125模块的Android10的时候,老报错。
编译环境可以编译荣品的RK3566的Android13/Buildroot。
以前荣品的RK3566的Android13的编译环境是可以编译通CM6125模块的Android10的。
后来查,有人说是交换分区的问题。
于是查找改大交换分区的方法。
详细步骤:
结论:貌似这种方法还是不行的!
可能还是需要重装系统/在装系统的时候直接配置swap交换分区了。
百度:ubuntu 查看系统默认 swap 分区大小
https://blog.csdn.net/qq_43680827/article/details/134433561
Ubuntu-调整交换分区大小
[BEGIN] 2024/12/6 14:28:55
rootroot@rootroot-X99-Turbo:~$
rootroot@rootroot-X99-Turbo:~$ cat /proc/swaps
Filename Type Size Used Priority
/swapfile file 2097148 0 -2
rootroot@rootroot-X99-Turbo:~$
/swapfile file 2097148 0 -2
rootroot@rootroot-X99-Turbo:~$
rootroot@rootroot-X99-Turbo:~$ sudo swapoff /swapfile
[sudo] password for rootroot:
rootroot@rootroot-X99-Turbo:~$
rootroot@rootroot-X99-Turbo:~$ sudo rm /swapfile
rootroot@rootroot-X99-Turbo:~$
rootroot@rootroot-X99-Turbo:~$ cat /proc/swaps
Filename Type Size Used Priority
rootroot@rootroot-X99-Turbo:~$
rootroot@rootroot-X99-Turbo:~$ sudo dd if=/dev/zero of=/swapfile bs=1GB count=20
20+0 records in
20+0 records out
20000000000 bytes (20 GB, 19 GiB) copied, 14.3619 s, 1.4 GB/s
rootroot@rootroot-X99-Turbo:~$
rootroot@rootroot-X99-Turbo:~$ ll /swapfile
-rw-r--r-- 1 root root 20000000000 12月 6 14:31 /swapfile
rootroot@rootroot-X99-Turbo:~$
rootroot@rootroot-X99-Turbo:~$ sudo chmod 777 /swapfile
rootroot@rootroot-X99-Turbo:~$
rootroot@rootroot-X99-Turbo:~$ sudo mkswap -f /swapfile
mkswap: /swapfile: insecure permissions 0777, 0600 suggested.
Setting up swapspace version 1, size = 18.6 GiB (19999993856 bytes)
no label, UUID=b39fd196-bfd3-4cf7-8ec0-c50a8082a46b
rootroot@rootroot-X99-Turbo:~$
rootroot@rootroot-X99-Turbo:~$ sudo swapon /swapfile
swapon: /swapfile: insecure permissions 0777, 0600 suggested.
rootroot@rootroot-X99-Turbo:~$
rootroot@rootroot-X99-Turbo:~$ cat /proc/swaps
Filename Type Size Used Priority
/swapfile file 19531244 0 -2
rootroot@rootroot-X99-Turbo:~$
rootroot@rootroot-X99-Turbo:~$ free --giga
total used free shared buff/cache available
Mem: 67 1 44 0 21 65
Swap: 19 0 19
rootroot@rootroot-X99-Turbo:~$
rootroot@rootroot-X99-Turbo:~$ gnome-system-monitor
rootroot@rootroot-X99-Turbo:~$
一、系统情况
Ubuntu :Ubuntu 20.04.6 LTS
交换分区位置:
cat /proc/swaps
二、去除旧的交换分区文件
去掉旧的交换分区有两个步骤:
停止旧的交换分区
sudo swapoff /swapfile
删除旧的交换分区
sudo rm /swapfile
在根目录下找不到swapfile,说明删除成功,一般也不会说删不掉
三、配置并启用交换分区
创建新swapfile文件
下面的命令就是分配10G的交换分区命令
sudo dd if=/dev/zero of=/swapfile bs=1GB count=10
1
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:显示版本信息
启用新swapfile文件
# 先修改文件权限
sudo chmod 600 /swapfile
# 然后设置为swap文件
sudo mkswap -f /swapfile
# 最后启用swap文件
sudo swapon /swapfile
查看进度
如果交换分区很大,想知道生成的进度,可以参考 Linux-查看dd命令进度
四、查看swap文件大小
free --giga
在系统资源部分也能看见分区大小: