前言
大部分情况,我们手上是没有一台完整的 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
结尾:
做完以上配置之后,就实现了 内存不够硬盘来凑 的空间换时间
价值
- 打开配置文件