博客
关于我
Linux 学习总结(88)—— Linux 系统中的 Swap 交换分区总结
阅读量:790 次
发布时间: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/

你可能感兴趣的文章
linglong扫描系统 JWT密钥硬编码 登录绕过漏洞复现
查看>>
LinkSage:基于 GNN 的 Pinterest理解
查看>>
LinkWeChat,唯一以开源为核心的SCRM
查看>>
link标签中的integrity和crossorigin字段---web前端工作笔记015
查看>>
link标签的rel属性
查看>>
Linly-Talker智能数字人实时对话系统如何部署体验
查看>>
Linq DataTable Group By 分组显示人员明细
查看>>
LINQ to DB 开源项目教程
查看>>
Linq to Entities不识别方法
查看>>
linq to entity常用操作
查看>>
linq to js使用汇总
查看>>
Linq to object 技巧、用法集锦
查看>>
LINQ to Objects---立即执行的Enumerable类方法
查看>>
linq to sql 三层架构中使用CRUD操作
查看>>
LINQ to SQL系列三 使用DeferredLoadingEnabled,DataLoadOption指定加载选项
查看>>
LINQ Tutorial for Beginners
查看>>
Linq 分组(group by)求和(sum)并且按照分隔符(join)分割列数据
查看>>
Linq 合并多个查询条件
查看>>
LINQ 左连接, 右连接, 全连接扩展
查看>>
linq-ef中如何批量删除
查看>>