Ubuntu 18.04,1.5G 交换已使用 100%(32G RAM),软 RAID1。如何增加 SWAP 大小?

Ubuntu 18.04,1.5G 交换已使用 100%(32G RAM),软 RAID1。如何增加 SWAP 大小?

我有一台生产服务器,最近发现服务器有时候会变慢,SSH 很慢,一旦进入终端,即使按下 ENTER 也很慢。

当服务器正常时,我检查了内存使用情况和 CPU,CPU 看起来不错,RAM 看起来不错,只是 SWAP 占用率 100%。我在 Google 上搜索了一下,似乎 SWAP 不应该被 100% 使用,也许只有 50%。

所以我想增加 SWAP 大小。但由于这是一台生产服务器,并且配置了软 RAID1,所以我不想弄乱它,直到我确定它绝对正确为止。

以下是服务器配置:

CPU is E3-1245-V2, 32G RAM, 3x2T HDD

top命令结果:

top - 05:33:54 up 2 days, 13:45,  1 user,  load average: 2.43, 2.43, 2.50
Tasks: 243 total,   1 running, 165 sleeping,   0 stopped,   0 zombie
%Cpu(s): 28.4 us,  0.6 sy,  0.0 ni, 69.0 id,  1.7 wa,  0.0 hi,  0.2 si,  0.0 st
KiB Mem : 32893852 total,   278960 free, 28153624 used,  4461268 buff/cache
KiB Swap:  1569780 total,        0 free,  1569780 used.  4226648 avail Mem 

df -h结果:

Filesystem      Size  Used Avail Use% Mounted on
udev             16G     0   16G   0% /dev
tmpfs           3.2G  1.5M  3.2G   1% /run
/dev/md3         20G  7.4G   11G  41% /
tmpfs            16G     0   16G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            16G     0   16G   0% /sys/fs/cgroup
/dev/md2        487M  148M  310M  33% /boot
/dev/md4        1.8T  536G  1.2T  32% /home
tmpfs           3.2G     0  3.2G   0% /run/user/1000

cat /proc/mdstat结果:

Personalities : [raid1] [raid0] [raid6] [raid5] [raid4] [linear] [multipath] [raid10] 
md4 : active raid1 sdb4[1] sdc4[2] sda4[0]
      1931981760 blocks [3/3] [UUU]
      bitmap: 5/15 pages [20KB], 65536KB chunk

md2 : active raid1 sda2[0] sdb2[1] sdc2[2]
      523200 blocks [3/3] [UUU]
      
md3 : active raid1 sda3[0] sdb3[1] sdc3[2]
      20478912 blocks [3/3] [UUU]
      
unused devices: <none>

sudo swapon --show结果:

NAME      TYPE      SIZE USED PRIO
/dev/sdb5 partition 511M 511M   -2
/dev/sdc5 partition 511M 511M   -3
/dev/sda5 partition 511M 511M   -4

我本来打算按照这个教程https://linuxize.com/post/how-to-add-swap-space-on-ubuntu-18-04/但我担心因为我这里有软 raid1,我不确定上述说明是否仍然适用,或者它是否应该工作。

谢谢!

答案1

最简单的方法是创建一个交换文件。

创建合适大小的文件。根据您的问题,您的可用空间非常有限/home,因此将其放在那里是合理的

sudo dd if=/dev/zero of=/home/.swapfile bs=1G count=10

大小为 bs*count,在本例中为 10GB。修改 count 以满足您的需求。创建文件后(这可能需要一段时间),您必须正确格式化并启用它:

sudo mkswap /home/.swapfile
sudo swapon /home/.swapfile

现在应该会反映出新的文件free -m

为了启用启动时自动使用,在底部添加一行/etc/fstab

/home/.swapfile  swap       swap  defaults                     0  0

相关内容