Linux增大Swap分区,可以增加虚拟内存,以解决电脑卡机,内存不足等问题
top可以查看cpu的使用情况
lscpu可以查看本机配置的cpu硬件情况
- 查看内存使用情况 free -h
(下面显示"交换"或者Swap等字样说明系统已经启动了Swap) 
dx@dx-UX330:~$ free -h
               total        used        free      shared  buff/cache   available
内存:      7.6Gi       5.5Gi       222Mi       1.2Gi       1.9Gi       620Mi
交换:      2.0Gi       2.0Gi       0.0Ki
 
- 查看内存剩余情况df -h
 
dx@dx-UX330:~$ df -h
文件系统        大小  已用  可用 已用% 挂载点
tmpfs           782M  1.9M  780M    1% /run
/dev/sda6        58G   41G   15G   74% /
tmpfs           3.9G  2.4M  3.9G    1% /dev/shm
tmpfs           5.0M  4.0K  5.0M    1% /run/lock
efivarfs        128K   52K   72K   42% /sys/firmware/efi/efivars
tmpfs           3.9G     0  3.9G    0% /run/qemu
/dev/sda1       256M   36M  221M   14% /boot/efi
tmpfs           782M  1.7M  781M    1% /run/user/1000
/dev/sda4       2.1G   13M  2.1G    1% /media/dx/D卷
/dev/sda3       177G  167G  9.8G   95% /media/dx/OS
 
由上面观察,/dev/sda6 还有一定空间可用,可作为扩展Swap的备选
- 查看Swap空间大小
 
root@dx-UX330:/home/dx# sudo swapon --show
NAME      TYPE SIZE USED PRIO
/swapfile file   2G   2G   -2
 
观察上面可以知道,目前挂载的swap空间是在一个叫做/swapfile的文件上的,为2G
如果想对现有的Swap空间进行扩展,可以直接新建一个swap文件(当然,不能再叫做/swapfile了,可以换个名字,比如叫做/swap),这是为了为避免在设置时候发生名字冲突。
 我们新起的这个文件就叫做/swap(再次提醒,之前设置swap空间的文件叫做/swapfile,新建的叫做/swap)
现在来修改这个新建的/swap的大小,进入系统根目录:
cd /
 
使用dd命令增加/swap文件的大小。例如,如果想将swap空间扩展到8G,可以执行:
sudo dd if=/dev/zero of=/swap bs=1M count=8192
 
这里的bs=1M count=8192表示每块大小为1M,共8192块,即总共8G。
 当然你也可以让bs=1M count=16384表示每块大小为1M,共16384块,即总共16G。
现在来处理旧的/swapfile文件,查看他是否还在运行
 sudo mkswap /swapfile
 如果旧的文件正在被用作Swap空间,你需要首先使用swapoff命令来停用它:
 sudo swapoff /swapfile
然后,你才可以使用mkswap命令来设置新的Swap空间:sudo mkswap /swap
 最后使用swapon命令来启用Swap空间:sudo swapon /swap
注意:当你尝试使用下一步的 sudo swapon /swap 命令启用Swap文件时,系统可能会警告你关于不安全的权限设置。错误消息 swapon: /swap: insecure permissions 0644, 0600 suggested 指出Swap文件的当前权限是0644,这意味着文件所有者可以读写该文件,而其他用户只能读取它。出于安全考虑,Swap文件通常应该只有root用户才能读写,因此建议的权限是0600。要解决这个问题,你可以使用 chmod 命令将Swap文件的权限更改为0600:
sudo chmod 0600 /swap
 
激活新的Swap空间大小:
sudo mkswap /swap  
sudo swapon /swap
 
最后,使用free -m命令验证Swap空间是否已成功扩展。
- 设置为永久Swap
 
如果你希望系统在每次启动时都自动加载新的Swap空间,需要将Swap文件添加到/etc/fstab文件中。可以使用文本编辑器打开该文件,并在文件末尾添加类似下面的行:
/swapfile swap swap defaults 0 0
 
保存并关闭fstab文件。
原本的文件
 
修改后的文件
 
电脑重启后,使用命令sudo swapon --show 观察新的Swap是否已经被挂载上
dx@dx-UX330:~$ sudo swapon --show
[sudo] dx 的密码: 
NAME      TYPE SIZE USED PRIO
/swapfile file   2G 1.8G   -2
/swap     file   8G   0B   -3
 
-  
Q:如何查看Swap文件/swapfile的所有者是谁(应该为root用户)
ls -l /swapfile
输出应该是类似这样的
-rw------- 1 root root <文件大小> <日期时间> /swapfile -  
Q:如何修改文件的所有者?
你可以使用chown命令来更改文件/swapfile的所有者,如下所示:
sudo chown root:root /swapfile 

















