Linux云服务器开启SWAP分区(虚拟内存)
Linux服务器的SWAP分区,类似于Windows系统中的虚拟内存,开启了,可以提高系统可用内存。
默认情况下,云服务器都没有开启SWAP分区,需要自己手动开启。
确定服务器有没有开启SWAP分区,在终端执行以下命令:
free -m
[root@VM-16-10-centos ~]# free -m
total used free shared buff/cache available
Mem: 7768 214 6581 1 972 7303
Swap: 0 0 0
Swap那一行都是0,说明没有开启SWAP分区。
开启SWAP分区步骤如下:
① 创建交换分区的文件
dd if=/dev/zero of=/mnt/swap bs=1M count=1024
bs=1M count=1024代表设置1G大小SWAP分区,这2个参数可以自行调整。
[root@VM-16-10-centos ~]# dd if=/dev/zero of=/mnt/swap bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.09435 s, 981 MB/s
② 设置交换分区文件
mkswap /mnt/swap
[root@VM-16-10-centos ~]# mkswap /mnt/swap
mkswap: /mnt/swap: insecure permissions 0644, 0600 suggested.
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=a1b75688-f9a5-456d-8ab4-74ef7aa9eab3
③ 启用交换分区文件
swapon /mnt/swap
[root@VM-16-10-centos ~]# swapon /mnt/swap
swapon: /mnt/swap: insecure permissions 0644, 0600 suggested.
如果/etc/rc.local文件里有swapoff -a,需要修改为swapon -a。
cat /etc/rc.local
[root@VM-16-10-centos ~]# cat /etc/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
touch /var/lock/subsys/local
上面文件中没有,所以不需要修改。
④ 开启自启
/mnt/swap swap swap defaults 0 0
⑤ 查看SWAP分区的使用原则
cat /proc/sys/vm/swappiness
[root@VM-16-10-centos ~]# cat /proc/sys/vm/swappiness
30
当 swappiness内容的值为0时,表示最大限度地使用物理内存,物理内存使用完毕后,才会使用SWAP分区。当swappiness内容的值为100时,表示积极地使用SWAP分区,并且把内存中的数据及时地置换到SWAP分区。
修改这个值,改为10
echo 10 >/proc/sys/vm/swappiness
如果需要永久修改,编辑/etc/sysctl.conf文件
添加或修改
vm.swappiness = 10
查看是否修改成功
sysctl -p
⑥ 通过top命令查看SWAP分区使用情况
top
Tasks: 89 total, 2 running, 87 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.7 us, 2.0 sy, 0.0 ni, 95.3 id, 0.3 wa, 0.7 hi, 0.0 si, 0.0 st
MiB Mem : 7768.8 total, 5518.3 free, 223.3 used, 2027.2 buff/cache
MiB Swap: 1024.0 total, 1024.0 free, 0.0 used. 7281.2 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5637 root 20 0 599280 22900 5672 S 1.0 0.3 26:51.51 barad_agent
7027 root 20 0 970668 63908 31864 S 1.0 0.8 23:31.82 YDService
1 root 20 0 172860 10896 7948 S 0.0 0.1 0:16.86 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H-event+
9 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
10 root 20 0 0 0 0 S 0.0 0.0 0:27.72 ksoftirqd/0
查看这一行
MiB Swap: 1024.0 total, 1024.0 free, 0.0 used. 7281.2 avail Mem
至此,Linux服务器开启SWAP分区教程结束,关闭SWAP分区教程请自行搜索。