Ubuntu扩展存储合理分配swap分区

文章目录

  • 前言
  • 1. 为Ubuntu扩存(外部存储)
    • 1.1修改存储
    • 1.2 初始化分配的磁盘
  • 2.为Ubuntu调整swap分区大小
  • 总结


前言

我们在Ubuntu上运行某些大型游戏或者编译一些工程代码的时候,往往会遇到内存或外部存储不够导致编译不成功,例如编译LLVM时需要比较大的内存。

我自己在虚拟机上傻瓜式安装了Ubuntu20,自动分配外存:30GB,内存4GB,单核心的两个处理器,编译llvm到一半就报内存不够(也有可能是swap分区太小),collect2: fatal error: ld terminated with signal 9 [Killed],如下图,Memory分配了8GB,swap分区10GB,还是没有够用。
Ubuntu扩展存储合理分配swap分区_第1张图片
本文中将介绍如何更改Ubuntu的存储空间、调整swap分区大小。

ubuntu 可以通过Alt+f2 键入gnome-system-monitor 进入系统监视器 来查看资源占用情况


1. 为Ubuntu扩存(外部存储)

1.1修改存储

  1. Ubuntu处于关机状态,点击硬盘
    Ubuntu扩展存储合理分配swap分区_第2张图片

  2. 点击扩展
    Ubuntu扩展存储合理分配swap分区_第3张图片

  3. 修改合适的大小
    Ubuntu扩展存储合理分配swap分区_第4张图片

1.2 初始化分配的磁盘

  1. 安装分区管理工具
sudo apt-get install gparted
sudo gparted

Ubuntu扩展存储合理分配swap分区_第5张图片

  1. 右键根部分区
    Ubuntu扩展存储合理分配swap分区_第6张图片
  2. resize,将分区拖到最大
    Ubuntu扩展存储合理分配swap分区_第7张图片
  3. 再右键子集目录resize,同样的操作
    Ubuntu扩展存储合理分配swap分区_第8张图片
  4. 最后选勾即可完成
    Ubuntu扩展存储合理分配swap分区_第9张图片

2.为Ubuntu调整swap分区大小

Swap分区在系统的物理内存不够用的时候,把硬盘内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。

  1. 找到swap 文件位置
cat /proc/swaps

在这里插入图片描述
说明swap文件名为swapfile ,位于根目录下/

  1. 更改swap大小
# 停止swap文件
sudo swapoff /swapfile
# 删除swap文件
sudo rm /swapfile
# 创建新的swap文件,以创建10GB大小为例
sudo dd if=/dev/zero of=/swapfile bs=1GB count=10

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:显示版本信息
  1. 启用新的swap文件
# 先修改文件权限
sudo chmod 600 /swapfile

# 然后设置为swap文件
sudo mkswap -f /swapfile

# 最后启用swap文件
sudo swapon /swapfile
  1. 查看当前的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  显示程序版本然后离开

总结

  • 分享即学,方便日后查阅。
  • 参考:https://blog.csdn.net/qq_35395195/article/details/125616388

你可能感兴趣的:(Linux,ubuntu,linux,运维)