创建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] 为要检查的进程名称。

发表评论