前言
大部分情况,我们手上是没有一台完整的 LINUX 操作系统 PC 的,然而当我们需要使用 LINUX 操作系统时,一般会选择在已有的 Window 电脑上安装虚拟机,那么针对内存分配而言,电脑的当前内存是 16G ,我们是没办法把 16G 全部分配给虚拟机的,甚至虚拟机在工作时需要更大的内存,那么怎么办?
办法就是:LINUX 的交换分区(swap),或者叫内存置换空间(swap space)
查看虚拟内存与交换空间大小
以下是已经配置完扩容的信息
itaso@ubuntu:~$ free -h
total used free shared buff/cache available
Mem: 7.8G 765M 4.1G 15M 2.9G 3.4G
Swap: 30G 0B 30G
itaso@ubuntu:~$ free -m
total used free shared buff/cache available
Mem: 7953 765 4225 15 2962 3449
Swap: 31694 0 31694
itaso@ubuntu:~$
查看 swap 详情
以下是已经配置完扩容的信息
itaso@ubuntu:~$ swapon -s
Filename Type Size Used Priority
/swapfile file 31457276 0 -2
/dev/sda5 partition 998396 0 -3
itaso@ubuntu:~$
根据以上信息,可以看到当前的 swap 是存放在根目录的 swapfile 文件上的,如下图

配置交换空间
以下即为正常情况下的配置步骤
- 停用交换文件
sudo swapoff /swapfile - 删除交换文件
sudo rm /swapfile - 新建swap空间
sudo fallocate -l 30G /swapfile
其中,这里的 swapfile 是可以自由定义的 swap空间 命名- 设置文件权限
sudo chmod 600 /swapfile
- 设置文件权限
- 挂载交换空间
sudo mkswap /swapfile
这边的 swapfile 即为新建时的命名,相互对应的 - 激活启用交换空间
sudo swapon /swapfile - 写入系统配置
如果不写入系统配置中,那么系统重启后以上配置会失效,得重新做,写入步骤如下- 打开配置文件
sudo vim /etc/fstab - 编辑配置文件(文件最后一行添加)
/swapfile swap swap defaults 0 0

- 打开配置文件
- 配置使用交换空间的条件
系统只有当内存不足才会启动 swap,比如系统默认内存不足 5M 时才启用交换空间,但是此
时系统可能已经卡死,无法启动 swap,所以对此更改并提高一下启用的阀值,确保系统有足够的内存启用 swap。配置步骤如下:- 打开配置文件
sudo vim /etc/sysctl.conf - 编辑配置文件(文件最后一行添加)
vm.min_free_kbytes=1500000 #大致1.5G

结尾:
做完以上配置之后,就实现了 内存不够硬盘来凑 的空间换时间价值
- 打开配置文件
本文介绍了如何在Windows电脑上使用Linux虚拟机时,面对内存不足问题,通过创建和配置Linux交换分区(swap)来解决。步骤包括查看内存与交换空间大小,停用和删除旧交换文件,创建新交换空间,设置权限,挂载及启用交换,并调整系统配置以确保在内存不足时自动使用交换空间。
3001

被折叠的 条评论
为什么被折叠?



