Linux 开启设置 Swap 分区
前端时间发现我的服务器CPU占用率百分百,这给我吓的,赶紧找进程,最后发现是一个kswap0的一个进程大大量的占用CPU 资源,,后了解到这玩意是一位内内存不足导致的,根据网络上的办法解决了一下,发现内存不足这个问题解决了,但是占用CPU资源的问题还是再困扰着我,根据我的观察发现,我的服务器是没有Swap交换分区的,这也可能就是导致PCU过高的原因把,今天写一下如果开启 Swap交换分区。
PS:kswap0 这个进程还需要手动结束,只要内存够用这个就不会再出现。
1、查看Swap 分区大小
可以看到 Swap 分区为 0 哈
# free -m
total used free shared buff/cache available
Swap: 0 0 0
2、创建 Swap文件
cd /var/
dd if=/dev/zero of=swapfile bs=1024 count=5000000
PS :bs 表示单个块的大小; count代表的是大小,我这里是5G
3、将文件转为 Swap 文件
/var 目录下执行
[root@**** var]# mkswap swapfile
Setting up swapspace version 1, size = 499996 KiB
no label, UUID=fff5b1b6-21e7-4fcf-a7e8-fe3c4c6b4627
4、激活 Swap 文件
- 挂载Swap分区
swapon /var/swapfile
swapon 开启swap分区的命令
指定 /var/swapfile swap文件
- 卸载Swap分区
swapoff /var/swapfile
swapoff 关闭swap分区命令
5、开启自动华仔 Swap 分区
- 添加 至 /etc/fstab
echo '/var/swapfile swap swap defaults 0 0' /etc/fstab
- 重新挂在验证
mount -a
6、查看当前Swap 分区
[root@tianci var]# free -m
Swap: 4882 0 4882