创建swap
要在 Alibaba Cloud Linux 系统上启动虚拟内存(swap),您可以按照以下步骤操作:
创建 swap 文件:
sudo fallocate -l [size] /swapfile
其中 [size] 是要分配给 swap 的大小,单位为 MB 或 GB。例如,要创建一个 4GB 的 swap 文件,可以输入
sudo fallocate -l 4G /swapfile
设置文件权限:
sudo chmod 600 /swapfile
格式化 swap 文件:
sudo mkswap /swapfile
启用 swap 文件:
sudo swapon /swapfile
使 swap 在重启后自动启用:
打开 /etc/fstab 文件并添加以下行:
/swapfile none swap sw 0 0
然后保存并关闭文件。
现在,您已经成功开启了虚拟内存。如果需要调整虚拟内存大小,只需重复上述步骤,然后删除旧的 swap 文件即可。
请注意,虽然虚拟内存可以帮助缓解物理内存不足的问题,但它的速度远低于 RAM。因此,在购买硬件时,应尽可能选择足够的 RAM 容量以满足您的需求。
设置swap 的优先级
/etc/sysctl.conf 文件是 Linux 系统中用于配置内核参数的文件。其中,vm.swappiness 参数控制了系统在使用交换分区(swap)上的优先级。
vm.swappiness 的含义
vm.swappiness 是一个介于 0 到 100 的整数值,表示系统将内存页面换出到交换空间的倾向性。它的取值范围和意义如下:
0:尽可能避免使用 swap 分区,只有当物理内存耗尽时才会开始使用。
100:积极地将内存页面换出到 swap 分区,即使物理内存还有剩余。
中间值:在这两个极端之间选择一个平衡点,根据需要适当地使用 swap 分区。
调整 vm.swappiness 的方法
要调整 vm.swappiness 值,请按照以下步骤操作:
打开 /etc/sysctl.conf 文件:
sudo nano /etc/sysctl.conf
在文件末尾添加或修改以下行:
vm.swappiness=[your_value]
将 [your_value] 替换为您想要设置的数值。
保存并关闭文件。
使更改生效:
sudo sysctl -p
请注意,调整 vm.swappiness 的最佳值取决于您的具体工作负载和资源需求。在某些情况下,降低 swappiness 可能有助于减少对磁盘 I/O 的压力,从而提高性能。然而,在其他情况下,保持适度的 swappiness 可能更有利,因为它允许系统更有效地利用所有可用的内存资源。
清理缓存
sync && echo 3 > /proc/sys/vm/drop_caches
此命令会清空 Linux 的页缓存、目录项缓存和 inode 缓存。请注意,这可能会导致一些应用程序重新加载数据并暂时降低性能。
显示内存使用情况
free -h
该命令会显示系统的总内存、已用内存、可用内存以及交换分区的使用情况。
检查特定进程的内存使用情况
ps aux | grep [process_name]
替换 [process_name] 为要检查的进程名称。