Debian操作系统的虚拟内存可以通过设置交换空间(swap space)来实现。交换空间是一块磁盘空间,用于存储没被常驻内存的数据和进程,在系统需要时可以从交换空间中恢复。
检查是否开启虚拟内存
可以使用以下命令查看Debian系统是否启用了交换空间:
sudo swapon --show
如果有交换空间,则会输出交换空间的详细信息,包括设备文件路径、交换空间大小、使用情况等。如果输出为空则表示没有启用交换空间。
也可以使用以下命令查看当前系统的内存和交换空间情况:
free -h
这个命令会显示系统的物理内存和交换空间使用情况,以及缓存区和缓冲区使用情况等。如果Swap
一栏的数字不为0,则表示系统启用了交换空间。
开启虚拟内存
- 创建一个用于交换的文件。在本例中,我们将创建一个大小为 2G 的交换文件,并将其放置在 root 文件夹中。可以使用以下命令完成此操作:
sudo fallocate -l 3G /swapfile
- 将新创建的文件设置为交换文件并限制访问权限:
sudo chmod 600 /swapfile
sudo mkswap /swapfile
- 将交换文件添加到系统的交换空间中,并设置
vm.swappiness
值以使系统更倾向于使用物理内存而不是交换空间:
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
sudo swapon /swapfile
在这里,我们将 vm.swappiness
设置为 10,以便系统更倾向于使用物理内存而不是交换空间。请注意,这个值的最大值为 100,表示系统会尽可能多地使用交换空间。
- 最后,将交换文件添加到
/etc/fstab
文件中,以便在每次启动时自动加载它:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
现在, 服务器应该已经成功增加了 2G 的交换空间并设置了优先使用物理内存。
评论区