Linux 内存管理
Swap swap可以避免应用程序因内存不足而崩溃,但它的性能远不及内存,适用于特殊场景(例如我的ecs只有2G内存😅)。实现方式可以基于交换文件,也可以基于磁盘分区,并且内核参数vm.swappiness可以定义swap与内存的使用占比,即优先使用内存还是swap。 创建一个交换文件作为Swap # 创建一个交换文件作为Swap dd if=/dev/zero of=/swapfile bs=1M count=4096 # 设置合适的权限 chmod 600 /swapfile # 将文件格式化为swap空间 mkswap /swapfile # 启用swap文件 swapon /swapfile # 持久化 echo '/swapfile none swap sw 0 0' >> /etc/fstab # 检查Swap是否已启用 free -h swapon --show 使用磁盘分区作为Swap 如果你想将整个磁盘分区作为swap,而不是使用交换文件,可以按照以下步骤进行: 创建swap分区(可以使用fdisk或parted工具): 使用fdisk创建一个新的Linux swap分区,通常选择类型为82(Linux swap)。 格式化该分区为swap格式: sudo mkswap /dev/sdXn # 替换 /dev/sdXn 为你刚刚创建的分区 启用swap分区: sudo swapon /dev/sdXn 确保分区在启动时自动启用: 修改/etc/fstab文件,添加如下内容: /dev/sdXn none swap sw 0 0 Swap相关内核参数 vm.swappiness是Linux内核中用来控制交换的行为的参数。它的值决定了内存满时交换的优先级。值的范围是0到100,0表示内存几乎用完之前不会交换,100表示内存稍微紧张时就会使用swap。 查看当前swappiness值: cat /proc/sys/vm/swappiness 临时调整swappiness: ...