CentOS增加swap分区,步骤有哪些?swap分区大小怎么算?

在Linux系统管理中,Swap分区(即交换分区)作为物理内存的延伸,当系统内存不足时,会将部分暂时不用的数据写入Swap分区,从而释放内存供更紧急的任务使用,CentOS系统在默认安装时可能未配置或仅配置了较小的Swap分区,当运行内存密集型应用(如虚拟机、数据库服务)时,适当增加Swap分区可有效提升系统稳定性,本文将详细介绍在CentOS系统中增加Swap分区的完整步骤、注意事项及相关优化技巧。

CentOS增加swap分区,步骤有哪些?swap分区大小怎么算?

增加Swap分区前的准备工作

在操作前,需明确系统当前Swap状态及需求,通过free -h命令可查看当前内存和Swap的使用情况,

              total        used        free      shared  buff/cache   available
Mem:           3.8Gi       1.2Gi       2.1Gi       123Mi       547Mi       2.4Gi
Swap:          2.0Gi          0B       2.0Gi

若Swap分区不足或未分配,需进一步规划,建议Swap分区大小根据物理内存确定,一般遵循以下原则:

  • 物理内存 ≤ 2GB时,Swap大小为内存的2倍;
  • 2GB < 物理内存 ≤ 8GB时,Swap大小与内存相等;
  • 物理内存 > 8GB时,Swap大小可设置为内存的50%或更多,但通常不超过16GB。

需确保磁盘有足够的未分配空间,可通过fdisk -llsblk命令查看磁盘分区情况。

使用文件方式增加Swap分区(推荐)

文件方式创建Swap分区无需修改磁盘分区表,操作灵活且风险较低,适合大多数场景,以下是具体步骤:

创建Swap文件

使用dd命令创建指定大小的Swap文件,例如创建4GB的Swap文件:

dd if=/dev/zero of=/swapfile bs=1M count=4096

参数说明:

  • if=/dev/zero:输入文件为/dev/zero(产生连续的零字节);
  • of=/swapfile:输出文件路径为/swapfile;
  • bs=1M:块大小为1MB;
  • count=4096:块数量为4096,即4GB(4096×1MB)。

设置文件权限

Swap文件需仅允许root用户访问,避免安全风险:

chmod 600 /swapfile

格式化为Swap文件

使用mkswap命令将文件格式化为Swap格式:

CentOS增加swap分区,步骤有哪些?swap分区大小怎么算?

mkswap /swapfile

启用Swap文件

通过swapon命令激活Swap文件:

swapon /swapfile

永久挂载Swap文件

为使Swap文件在系统重启后自动生效,需修改/etc/fstab文件,添加以下行:

/swapfile swap swap defaults 0 0

可通过echo '/swapfile swap swap defaults 0 0' >> /etc/fstab命令追加。

验证Swap分区

执行free -hswapon --show命令确认Swap分区已成功添加:

NAME      TYPE SIZE USED PRIO
/swapfile file   4G   0B   -2

使用分区方式增加Swap分区

若磁盘有未分配分区,可直接创建Swap分区,性能通常优于文件方式,步骤如下:

创建新分区

使用fdiskparted工具创建分区,例如使用fdisk /dev/sdb

  • 输入n创建新分区;
  • 选择分区类型(主分区或逻辑分区);
  • 指定分区起始和结束扇区;
  • 输入t设置分区类型,输入82(Linux Swap类型);
  • 输入w保存并退出。

格式化分区

使用mkswap命令格式化分区:

mkswap /dev/sdb1

启用并挂载分区

参考文件方式的步骤4和5,激活分区并修改/etc/fstab文件。

CentOS增加swap分区,步骤有哪些?swap分区大小怎么算?

Swap分区的优化与管理

调整Swappiness参数

swappiness参数控制内核将内存数据写入Swap分区的倾向(取值0-100,默认60),可通过cat /proc/sys/vm/swappiness查看当前值,对于内存充足的系统,可适当降低该值以减少Swap使用,

sysctl vm.swappiness=10

为永久生效,需在/etc/sysctl.conf中添加vm.swappiness=10

删除Swap分区

若需移除Swap文件或分区,先通过swapoff命令禁用,再删除文件或调整分区表:

swapoff /swapfile
rm /swapfile

或对于分区:

swapoff /dev/sdb1
fdisk /dev/sdb  # 删除分区

同时需从/etc/fstab中删除相关条目。

相关问答FAQs

问题1:Swap分区设置过大或过小会对系统产生什么影响?
解答:Swap分区过小可能导致内存不足时系统频繁使用Swap,甚至触发OOM(Out of Memory) Killer,导致进程被终止;过大则会浪费磁盘空间,且Swap写入速度较慢,可能影响系统响应速度,建议根据实际内存需求合理配置,通常不超过物理内存的2倍(大内存场景可适当减少比例)。

问题2:如何检查Swap分区的使用情况和性能?
解答:可通过vmstat 1命令实时监控Swap的si(从Swap读入内存)和so(写入Swap)值,若持续较高说明内存不足;使用iotopiostat -x 1查看Swap设备的I/O性能,若磁盘繁忙(%util接近100%),可能需升级SSD或优化应用内存使用。free -s 5可定期输出内存和Swap状态,便于长期观察趋势。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-31 18:28
下一篇 2025-10-01 22:34

相关推荐

  • 佛山专业网站建设报价_业务流程

    佛山专业网站建设,报价合理。业务流程包括需求分析、设计制作、测试上线,全程无忧服务,打造高品质网站。

    2024-07-12
    0031
  • CentOS根分区满了如何安全在不重装下调整root大小?

    在CentOS服务器的生命周期中,磁盘空间的管理是一项至关重要的任务,随着系统更新、应用程序安装和日志文件的增长,根分区(/)的空间常常会变得紧张,当系统提示“No space left on device”时,服务可能会中断,合理地调整根分区大小是系统管理员必备的技能,本文将详细介绍如何在CentOS中安全……

    2025-10-15
    004
  • 云速建站在福州商城网站建设中扮演什么角色?

    云速建站是一种快速搭建福州商城网站的服务,它利用云计算技术提供模板和工具,使用户能够轻松创建和管理在线商城。该服务旨在简化网站开发流程,降低技术门槛,加快上线速度,适合需要快速开展电子商务的企业或个人。

    2024-07-25
    007
  • CentOS 6.5系统下如何成功安装并运行TeamViewer?

    在已经停止主流支持的CentOS 6.5系统上部署TeamViewer,虽然具有一定的挑战性,但对于需要维护旧服务器的管理员来说,这仍然是一项非常实用的技能,本文将详细介绍在CentOS 6.5环境中安装、配置和排错TeamViewer的全过程,确保您能够顺利建立远程连接,系统准备与依赖检查在开始安装之前,必须……

    2025-10-19
    003

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信