赞
踩
Linux增大Swap分区,可以增加虚拟内存,以解决电脑卡机,内存不足等问题
top
可以查看cpu的使用情况
lscpu
可以查看本机配置的cpu硬件情况
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
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的备选
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文件添加到/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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。