【操作系统】Ubuntu Swap内存扩容

目录

背景

查看内存信息

确定当前的交换空间大小

查看内存使用情况

查看fstab文件,确认swap分区位置

查看swap分区大小

swap分区扩容

关闭swap分区

创建大的swap文件

格式化swap空间

关闭之前的swap

开启新swap

开机挂载

验证交换空间的大小


背景

在执行某些程序的时候,需要大量内存,但我们没有这么多的物理内存情况下,可以考虑使用swap内存来解决。如有时候build 大模型的镜像的时候,需要内存可能高达好几百G内存,此时就可以使用这里的方法扩容swap内存来实现。

查看内存信息

确定当前的交换空间大小

sudo swapon --show

NAME      TYPE SIZE USED PRIO
/swapfile file   2G 1.7G   -2

查看内存使用情况

free -g
               total        used        free      shared  buff/cache   available
Mem:              31           2          27           0           0          27
Swap:              0           0           0

查看fstab文件,确认swap分区位置

cat /etc/fstab

# /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/nvme0n1p2 during installation
UUID=7cc1912c-3b10-4630-8c97-de02e675b09a /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=4E4D-C7B8  /boot/efi       vfat    umask=0077      0       1
/swapfile                                 none            swap    sw              0       0
# ...

参数含义:

  1. /swapfile: 这是你的交换文件的路径。在大多数情况下,Ubuntu 默认会创建一个名为 /swapfile 的交换文件。
  2. none: 表示没有文件系统类型,因为这是一个特殊的文件而不是磁盘分区。
  3. swap: 指定文件的类型为交换空间。
  4. sw: 这个字段告诉操作系统,在启动时要启用这个交换文件。
  5. 0: 表示在 dump 命令中被忽略。
  6. 0: 表示在系统启动时不进行交换文件的检查。

查看swap分区大小

sudo fdisk -l /swapfile

Disk /swapfile: 2 GiB, 2147483648 bytes, 4194304 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

这里看到swap空间为2 GiB,而我们需要扩展到32GB,所以至少要扩展30GB。

swap分区扩容

这里通过本身磁盘剩余空间扩容方案

关闭swap分区

sudo swapoff -a

创建大的swap文件

这里count大小为32GB,of参数为需要写盘位置

dd if=/dev/zero of=/opt/swap bs=1024 count=33554432

33554432+0 records in
33554432+0 records out
34359738368 bytes (34 GB, 32 GiB) copied, 29.9129 s, 1.1 GB/s

格式化swap空间

/sbin/mkswap /opt/swap

mkswap: /opt/swap: insecure permissions 0664, fix with: chmod 0600 /opt/swap
Setting up swapspace version 1, size = 32 GiB (34359734272 bytes)
no label, UUID=8d156b8f-cace-44b4-99ce-44dc3ce74c09

关闭之前的swap

sudo swapoff /swapfile

开启新swap

sudo /sbin/swapon /opt/swap

swapon: /opt/swap: insecure permissions 0664, 0600 suggested.
swapon: /opt/swap: insecure file owner 1000, 0 (root) suggested.

开机挂载

sudo vim /etc/fstab

/opt/swap                                 none            swap    sw              0       0

验证交换空间的大小

swapon --show

你可能感兴趣的:(操作系统,运维,深度学习,docker,ubuntu)