# 给CentOS 增加交换空间(Swap) **主要是解决物理内存不够问题** ## 一、查看状态 **查看内存占用情况:** ``` free -h ``` **使用 top 或 htop 检查其他进程是否占用过多内存,特别是在没有交换空间的情况下,内存较紧张时,其他进程可能影响你的服务器启动。** ``` top ``` **可以通过 kill 命令 来关闭进程,减少服务器内存占用:** ``` kill ``` ## 二、增加交换空间(Swap) **由于系统没有交换空间(Swap),你可以为系统添加一个交换文件来扩展虚拟内存。即使你的物理内存不足,交换空间可以提供额外的缓冲,避免程序崩溃。** ### 2.1 创建交换文件 **创建一个 2GB 的交换文件:** ``` sudo fallocate -l 2G /swapfile ``` **如果 fallocate 不可用,可以使用 dd 命令:** ``` sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 ``` ### 2.2 设置交换文件权限 **确保交换文件的权限是安全的,只有 root 用户可以访问:** ``` sudo chmod 600 /swapfile ``` ### 2.3 设置交换空间 **将文件设置为交换空间:** ``` sudo mkswap /swapfile ``` ### 2.4 启用交换空间 **启用交换文件:** ``` sudo swapon /swapfile ``` ### 2.5 自动挂载交换文件 **为了在重启后自动启用交换空间,需要编辑 /etc/fstab 文件:** ``` sudo nano /etc/fstab ``` **在文件末尾添加以下行:** ``` /swapfile none swap sw 0 0 ``` ### 2.6 设置虚拟内存使用优先级 **Swappiness的范围是从0到100,较低的值会使系统尽量避免使用swap,而较高的值会让系统更积极地使用swap** ``` vim /etc/sysctl.conf /etc/sysctl.conf ``` **虽然提高swappiness可以使系统更倾向于使用swap,但这并不意味着所有应用都会“直接走虚拟内存”。相反,这只是一个策略上的调整,帮助系统更好地平衡内存和swap的使用。** **文章引用来自:**[https://a-hxin.cn/archives/1067/](https://a-hxin.cn/archives/1067/) 最后修改:2025 年 02 月 23 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏