013-Linux交换分区管理

发布于:2024-06-16 ⋅ 阅读:(25) ⋅ 点赞:(0)

一、交换分区的作用

”提升“内存容量,防止OOM(out of memory,内存溢出)。

从功能上讲,交换分区主要是在内存不够用的时候,将部分内存上的数据交换到swap空间上,以便让系统不会因内存不够用而导致OOM或者更致命的情况出现。

也就是说,当内存不够用时,我们使用 swap 分区来临时顶替。这种“拆东墙,补西墙”的方式应用于几乎所有的操作系统中。

使用swap交换分区,显著的优点是,通过操作系统的调度,应用程序实际可以使用的内存空间将远远超过系统的物理内存。由于硬盘空间的价格远比RAM要低,因此这种方式无疑是经济实惠的。

当然,频繁地读写硬盘,会显著降低操作系统的运行速率,这也是使用swap交换分区最大的限制。

二、设置交换分区的原则

个人电脑:推荐设置交换分区大小为内存的2倍;

企业服务器:

大于4GB而小于16GB内存的系统,最小需要4GB交换空间;

大于16GB而小于64GB内存的系统,最小需要8GB内存空间;

大于64GB而小于256GB内存的系统,最小需要16GB交换空间。

三、交换分区管理

3.1、涉及到的命令

free命令:用于查看系统内存使用情况的工具。通过free命令,我们可以获取有关系统内存的详细信息,包括总内存、已使用内存、剩余内存、缓存和缓冲区的使用情况等;

partprobe命令:用于在 Linux 系统中通知操作系统内核重新读取分区表。这在你使用 fdisk 或类似工具修改了磁盘分区后尤其有用,因为在某些情况下,操作系统不会立即识别这些更改。使用partprobe可以避免重启系统来更新分区信息;

mkswap命令:用于在一个文件或者设备上建立交换分区;

swapon命令:用于激活Linux系统中的交换空间。

3.2、查看交换分区

free -h

3.3、增加交换分区

假设在设备 /dev/sdc 上划分一个 “Linux 交换 / So”类型的分区,大小为 1GB,并将交换分区激活,最后验证是否成功增加交换分区。

1、准备分区

使用fdisk命令创建 1GB大小“Linux 交换 / So”类型的分区:

fdisk /dev/sdc    # 对设备 /dev/sdc 进行分区

n    # 分区

p    # 划分主分区

回车    # 默认设备号1

回车    # 默认分区起点位置

+1G    # 分区终点位置

t    # 设置分区系统id

82    # id为82

w    # 保存并写入分区配置

重新读取分区表信息,防止分区没有立即生效:

partprobe /dev/sdc

2、格式化

mkswap /dev/sdc1

3、挂载/激活交换分区

swapon /dev/sdc1

4、验证

free -h