我有一台生产服务器,最近发现服务器有时候会变慢,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