在 CentOS 系统中,有效地管理和使用 SWAP 分区对于保证系统的稳定性和性能至关重要。以下是创建和管理 SWAP 分区的步骤:
方法一:通过创建交换文件临时增加 SWAP 空间
- 查看当前系统的内存和 SWAP 使用情况:
free -m
- 创建一个用于交换的文件,例如创建一个 1GB 的交换文件:
dd if=/dev/zero of=/mnt/swapfile bs=1M count=1024
- 设置交换文件:
mkswap /mnt/swapfile
- 启用交换文件:
swapon /mnt/swapfile
- 若希望系统重启后自动启用该交换文件,需编辑
/etc/fstab
文件,添加以下行:/mnt/swapfile swap swap defaults 0 0
方法二:通过分区增加 SWAP 空间
- 查看当前的分区情况:
cat /etc/fstab
- 禁用现有的 SWAP 分区:
swapoff /dev/hd**
- 检查 SWAP 是否已禁用:
free -m
- 使用
fdisk
删除旧的 SWAP 分区,并创建新的 SWAP 分区。 - 将新创建的分区设置为 SWAP:
mkswap /dev/hd**
- 启用新的 SWAP 分区:
swapon /dev/hd**
- 更新
/etc/fstab
文件以反映新的 SWAP 分区设置。
Linux 下手动释放内存缓存
在 Linux 系统中,内存缓存(如 Buffer 和 Cache)用于提高文件读取效率。然而,有时可能需要手动释放这些缓存。这可以通过以下步骤完成:
- 同步数据到磁盘:
sync
- 释放页面缓存、目录项缓存和 inode 缓存:
echo 3 > /proc/sys/vm/drop_caches
通过上述命令,可以有效地释放内存缓存,从而释放更多内存供其他应用使用。
此外,还可以编写一个简单的 shell 脚本来定期执行这些操作,例如:
#!/bin/sh
/bin/sync
/bin/sync
echo 3 > /proc/sys/vm/drop_caches
并将此脚本添加到 crontab 中,以实现定期自动执行:
crontab -e
00 00 * * * /path/to/your/script.sh
这样,系统将在每天的指定时间自动释放内存缓存,有助于保持系统的高效运行。