博客
关于我
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/

你可能感兴趣的文章
logstash mysql 准实时同步到 elasticsearch
查看>>
Luogu2973:[USACO10HOL]赶小猪
查看>>
mabatis 中出现< 以及> 代表什么意思?
查看>>
Mac book pro打开docker出现The data couldn’t be read because it is missing
查看>>
MAC M1大数据0-1成神篇-25 hadoop高可用搭建
查看>>
mac mysql 进程_Mac平台下启动MySQL到完全终止MySQL----终端八步走
查看>>
Mac OS 12.0.1 如何安装柯美287打印机驱动,刷卡打印
查看>>
MangoDB4.0版本的安装与配置
查看>>
Manjaro 24.1 “Xahea” 发布!具有 KDE Plasma 6.1.5、GNOME 46 和最新的内核增强功能
查看>>
mapping文件目录生成修改
查看>>
MapReduce程序依赖的jar包
查看>>
mariadb multi-source replication(mariadb多主复制)
查看>>
MariaDB的简单使用
查看>>
MaterialForm对tab页进行隐藏
查看>>
Member var and Static var.
查看>>
memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
查看>>
memcached高速缓存学习笔记003---利用JAVA程序操作memcached crud操作
查看>>
Memcached:Node.js 高性能缓存解决方案
查看>>
memcache、redis原理对比
查看>>
memset初始化高维数组为-1/0
查看>>