给服务器添加SWAP交换区
所用的阿里云的服务器不支持SWAP。所用的阿里云的服务器不支持SWAP。所用的阿里云的服务器不支持SWAP。
朋友问起关于服务器内存的事宜,他和我都是使用阿里云 99 元 223 这个配置的云服务器。虽然使用场景不一样,但他也给我提了个醒,查看一下服务器当前的使用情况。
查看系统内存当前的使用情况
free -h
total used free shared buff/cache available
Mem: 1.7Gi 1.5Gi 82Mi 47Mi 336Mi 203Mi
Swap: 0B 0B 0B
total
:系统总内存的大小。used
:已使用的内存量。free
:当前空闲的内存量。shared
:被共享的内存量。buffers
:用于缓冲区的内存量。cached
:用于文件缓存的内存量。available
:当前可用的内存量。
当前物理内存的空闲已经相当的低了,可用内存量也只有 200M 了。为了缓解一下这个情况,决定给系统添加一个交换区(Swap)。
Linux Swap 指的是 Linux 交换分区,是磁盘上的一块区域,可以是一个分区,也可以是一个文件,或者是两者的组合;Swap 类似于 Windows 的虚拟内存,就是当内存不足时,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。
创建交换目录
mkdir /swap
进入目录
cd /swap
创建一个交换文件,bs 不能超过实际内存大小,可以用 count 来叠加
dd if=/dev/zero of=swapfile bs=1MB count=3000
3000+0 records in
3000+0 records out
3000000000 bytes (3.0 GB, 2.8 GiB) copied, 27.6441 s, 109 MB/s
设置并建立交换区
mkswap ./swapfile
mkswap: ./swapfile: insecure permissions 0644, fix with: chmod 0600 ./swapfile
Setting up swapspace version 1, size = 2.8 GiB (2999992320 bytes)
no label, UUID=78ca0a4e-f137-46e9-8264-e4039190e72d
根据提示给文件赋予安全权限
chmod 0600 ./swapfile
启用交换区
swapon ./swapfile
将交换区设置为开机后自动挂载
echo "/swap/swapfile swap swap defaults 0 0" >> /etc/fstab
重启
reboot
查看内存使用情况
free -h
total used free shared buff/cache available
Mem: 1.7Gi 1.1Gi 84Mi 20Mi 686Mi 581Mi
Swap: 2.8Gi 0B 2.8Gi