下面是如何在Ubuntu中设置虚拟内存的步骤。
首先,我们需要创建一个交换文件(swap file)。交换文件就像一个大型缓冲区,在RAM不足时可以用来临时储藏数据。创建交换文件需要使用到命令行界面(CLI),所以首先打开你的终端。
步骤一:检查当前系统是否已经有了交换空间
输入以下命令:
sudo swapon --show如果这个命令没有返回任何结果,那么说明你当前没有启用任何交换空间。
步骤二:创建新的swap file
我们将会在 /swapfile 路径下创建新的 swap file。首先要决定这个 swap file 的大小。通常来说, 2GB 是一个合适大小, 但如果你有更多硬盘空间并且经常遇到 RAM 不足问题, 可以考虑设置更大一些.
输入以下命令:
sudo fallocate -l 2G /swapfile这里 "-l" 后面跟着要分配给 swap 文件大小. 这里我们分配了2GB.
步骤三:设置正确的权限
为了确保只有 root 用户可以读写这个文件,我们需要设置正确的权限。输入以下命令:
sudo chmod 600 /swapfile步骤四:把新文件设为swap file
输入以下命令:
sudo mkswap /swapfile这个命令会把我们刚才创建的文件设定为 swap file。
步骤五:启用新的 swap file
输入以下命令:
sudo swapon /swapfile现在,你已经成功创建并启用了一个新的 swap file。
但是,如果你现在重启电脑,这个 swap 文件会被自动关闭。所以我们需要做一些额外操作来确保每次开机都能自动开启它。
步骤六:让系统每次开机都自动使用新建立好的交换空间
打开 fstab 文件:
sudo nano /etc/fstab 然后在最后一行添加如下内容:
/swapfile none swap sw 0 0 ctrl+o 回车 ctrl+x 保存并关闭 fstab 文件.
如果虚拟内存不占用是0 或者占用较少只有几M左右 按一下方法开启
内存使用接近100%,SWAP使用率却为0。
问题原因:针对linux镜像,vm.swappiness 默认为0,即只有100%物理内存都被占用才会使用swap。
解决方案:将vm.swappines设置成60,代表当内存使用率达到40%的时候,就开始使用swap。配置方法:在/etc/sysctl.conf中添加一行“vm.swappiness = 60”。
#按i进入编辑模式
vim /etc/sysctl.conf
#把vm.swappiness = 0 改为 vm.swappiness = 10 代表物理内存在剩下 10% 时才开始用虚拟内存 可以根据环境更改
vm.swappiness = 10
#按Esc 在输入:wq 保存即可 输入下面命令刷新内核
sudo sysctl -p