博客
关于我
Linux 学习总结(88)—— Linux 系统中的 Swap 交换分区总结
阅读量:802 次
发布时间:2023-02-01

本文共 1855 字,大约阅读时间需要 6 分钟。

`
`

前言

在服务器环境中,Linux系统的Swap交换分区与Windows的虚拟内存概念类似,通过将物理硬盘空间虚拟化为内存使用,解决内存资源不足的问题。无论是CentOS、Ubuntu还是Debian等发行版,新建或增加Swap分区的方法大致一致。在本文中,我们将详细说明如何确定Swap分区的大小以及新建或增加Swap分区的操作步骤。

一、Linux Swap分区大小选择

Swap分区的大小与服务器的物理内存大小直接相关,建议根据实际物理内存量来确定Swap分区的大小。注意随着物理内存的增大,Swap分区的大小也应相应调整。以下是推荐的Swap分区大小选择标准:

• 对于物理内存小于或等于4G的情况,建议设置Swap分区至少4G。

• 当物理内存在4G到16G之间时,最低建议设置Swap分区大小为8G。

• 对于16G到64G的内存情况,建议设置Swap分区至少16G。

• 当内存容量在64G到256G之间时,Swap分区至少应设置为32G。

• 对于大于256G物理内存的服务器,Swap分区应与物理内存大小相当或更大,具体根据需求自行调整。

二、Linux Swap分区的新建与管理

1. 查看当前Swap分区情况

在开始处理Swap分区之前,建议先查看当前Swap分区的使用情况。可以使用以下命令查看系统内存及Swap分区的使用状态:

free -m

或查看Swap分区使用情况的命令:

swapspace -l

2. 关闭Swap分区

在增加Swap分区之前,建议先禁用当前的Swap分区以避免影响系统性能。可以使用以下命令关闭Swap分区:

sudo swapoff -a

执行上述命令后,Swap分区将被立即禁用。需要注意的是,禁用Swap分区后可能会导致系统性能出现重大影响,特别是在内存不足的情况下,因此应谨慎操作。

3. 新建Swap分区

创建Swap分区时,需要选择一个合适的存储设备(如新建的物理硬盘或已有的Logical Volume)。以下是涉及Swap分区创建的主要步骤:

步骤一:选择并准备Partition

为了创建Swap分区,通常会选择一个独立的Partition。如果选择使用Logical Volume,需要先创建硬链接 Crabfish。此外,建议不要将Swap分区与其他逻辑分区合并,以免引起管理上的诸多问题。

步骤二:格式化文件系统

在确定要创建Swap分区的硬盘Partition后,格式化文件系统。可以选择 ext4 或 xfs 磁盘文件系统。

步骤三:创建Swap分区

在格式化文件系统后,可以使用Swap分区创建命令来创建Swap分区。具体命令如下:

sudo swapjoin /dev/diskX

其中,/dev/diskX表示你选择的Swap分区文件系统的设备节点。

步骤四:启用Swap分区

创建好Swap分区后,需要启用它以供系统使用。可以使用以下命令来启用Swap分区:

sudo swapon -a

启用Swap分区后,系统内存会与Swap分区一同使用,消除可能的内存不足问题。

4. 增加Swap分区大小(扩容)

在实际使用过程中,如果发现Swap分区容量有限,可能需要扩容以满足内存需求。这可以通过在已有Swap分区的基础上增加交换分区容量来实现。具体操作如下:

步骤一:关闭Swap分区

首先,需要禁用当前Swap分区:

sudo swapoff -a

步骤二:扩充Swap分区大小

使用扩展Swap分区的命令增加其容量。

sudo swapjoin -L /dev/diskX new_size

其中,/dev/diskX是Swap分区的设备节点,new_size是所希望增加的Swap分区大小。

步骤三:重新启用Swap分区

完成Swap分区扩容后,需要重新启用它:

sudo swapon -a

注意事项与最佳实践

在进行Swap分区操作时,需要注意以下几点:

• 不要在根文件系统中设置Swap分区。

• Swap分区建议设置为五个以上的Blocksizes(2MB或4MB通常是常见选择),以提高性能和减少碎片化。

• 当Swap分区使用不够时,可以考虑调整它的大小或关闭不必要的Swap分区以优化资源使用效率。

总结

通过合理配置Swap分区,可以有效提升服务器在内存不足时的性能表现。选择恰当的Swap分区大小、合理管理以及必要时进行扩容,都是提升系统性能的有效方法。希望以上内容能为您提供有价值的参考。

转载地址:http://gawfk.baihongyu.com/

你可能感兴趣的文章
mysql 复杂查询_mysql中复杂查询
查看>>
mYSQL 外键约束
查看>>
mysql 多个表关联查询查询时间长的问题
查看>>
mySQL 多个表求多个count
查看>>
mysql 多字段删除重复数据,保留最小id数据
查看>>
MySQL 多表联合查询:UNION 和 JOIN 分析
查看>>
MySQL 大数据量快速插入方法和语句优化
查看>>
mysql 如何给SQL添加索引
查看>>
mysql 字段区分大小写
查看>>
mysql 字段合并问题(group_concat)
查看>>
mysql 字段类型类型
查看>>
MySQL 字符串截取函数,字段截取,字符串截取
查看>>
MySQL 存储引擎
查看>>
mysql 存储过程 注入_mysql 视图 事务 存储过程 SQL注入
查看>>
MySQL 存储过程参数:in、out、inout
查看>>
mysql 存储过程每隔一段时间执行一次
查看>>
mysql 存在update不存在insert
查看>>
Mysql 学习总结(86)—— Mysql 的 JSON 数据类型正确使用姿势
查看>>
Mysql 学习总结(87)—— Mysql 执行计划(Explain)再总结
查看>>
Mysql 学习总结(88)—— Mysql 官方为什么不推荐用雪花 id 和 uuid 做 MySQL 主键
查看>>