(转)Linux下增加交换分区的大小

场景:最近在Linux环境安装ELK相关软件时候发现机器特别的卡,所以就查看了Linux机器的内存使用情况,发现是内存和交换分区空间太小了。

对于虚拟机中的内存问题,可以直接通过更改虚拟机的硬件进行解决,只不过需要先关机再进行设置。

linux下增加swap的大小这个算是很基础的东西了。不过上帝赐给了人类一件非常好的礼物是遗忘。诚然,像增加swap的大小这样基础的操作,也常常在用到的时候发现已经忘了怎么去弄。搞的每次都要再去Internet上去查。所以索引在博客里记录下,以便以后用时能直接手到掂来。

增加swap大小的方法有两种:

一种是已经分过swap交换分区,不过分配不合理,所以可以通过增加swap文件来增加交换分区的大小;

另一种方法是通过增加swap分区大小来增加swap的大小。

1 通过swap文件增加

 1.1 查看当前分区的大小

free -m 

如上图所示。

1.2 创建交换文件

增加交换分区文件及大小,如果要增加4G大小的交换分区,则命令写法如下,其中的 count 等于想要的块大小。 

 

当然根据bs指定的大小不同,我们也可以通过下面的文件增加:

dd if=/dev/zero of=/tmp/mem.swap bs=1M count=4096 (增加4G)或
dd if=/dev/zero of=swapfile bs=1024 count=1048576  (增加1G) 

1.3 格式转换并挂载 

#设置交换文件
mkswap /tmp/mem.swap

#立即启用交换分区文件
swapon /tmp/mem.swap

1.4 三种确认是否增加成功的方法

[root@localhost cs408]# swapon -s
文件名                类型        大小    已用    权限
/tmp/mem.swap                              file    4194300    0    -1
/dev/sda3                                  partition    2097148    0    -2
[root@localhost cs408]# free -m
              total        used        free      shared  buff/cache   available
Mem:           3784        2561         684           8         538        1006
Swap:          6143           0        6143
[root@localhost cs408]# cat /proc/swaps
Filename                Type        Size    Used    Priority
/tmp/mem.swap                           file        4194300    0    -1
/dev/sda3                               partition    2097148    0    -2
[root@localhost cs408]# 

以上不难看出,第一、三两种方法效果相同。linux/unix的一个奇妙之处也在此,很多命令和直接查看某些文件或更改某些文件的值,效果是一样的。

以上操作,在系统重启后,swap文件的大小又会变回原大小,我们可以在/etc/fstab里增加下面的配置,使其重启后,我们刚刚的配置仍然有效。

vim /etc/fstab
/tmp/mem.swap             swap                    swap    defaults        0 0

如果想卸载掉上面的分区,可以通过swapoff完成:

swapoff /tmp/mem.swap

2  通过fdisk增加swap分区

该方法和方法1主要操作步骤大同小异。不过该方法要求硬件目前有未分配的空间。

2.1 我们先通过fdisk新增分区

fdisk  /dev/sda
Command (m for help): n

通过n新建分区,选择为主分区,分区ID为82,即swap分区。保存退出。

2.2 接着对新建的分区进行格式化并挂载

mkswap /dev/sda4
swapon /dev/swap

完成后,参照方法一里的查看方法进行查看确认。新增完成后,在/etc/fstab里新增如下配置

/dev/sda4             swap                    swap    defaults        0 0
原文地址:https://www.cnblogs.com/lixuwu/p/6108269.html