一. 前言
Ubuntu默认分配的交互空间swap 为 2G 实际上在代码编译的过程中,如果你的CPU内存不超过16G的话,交换空间就有必要去设置更改一下。
二. 修改步骤
1. 进入根目录
cd /
选择自己想要定义的交换空间,比如8G大小。
2.创建一个8G的交换空间,这个文件的大小就是交换空间的大小。
关闭交换空间,这一步很重要
sudo swapoff -a
查看根目录是否有swap或者swapfile文件,电脑里默认有swapfile文件,那么我就更改这个文件,用
sudo dd if=/dev/zero of=/swapfile bs=1G count=8
count=8,就是8乘1G,就是8G。
终端显示结果如下,就表示创建成功
记录了8+0 的读入
记录了8+0 的写出
8589934592 bytes (8.6 GB, 8.0 GiB) copied, 6.68742 s, 1.3 GB/s
3.设置文件交换权限
sudo chmod 600 /swapfile
4.使交换文件成为交换空间
sudo mkswap /swapfile
5. /ect/fstab下进行添加,使swap永久生效
sudo fdisk -l
sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
6.打开交换空间,查看交换空间
sudo swapon -a
sudo swapon --show 或者 free -h
显示结果如下:
total used free shared buff/cache available
Mem: 30Gi 7.0Gi 11Gi 60Mi 12Gi 23Gi
Swap: 9Gi 770Mi 9.2Gi
三.交换空间大小设置
swap是存储设备上的一块空间,操作系统可以在这里暂存一些内存里放不下的东西。
这从某种程度上相当于增加了服务器的可用内存。虽然从swap读写比内存慢,但总比没有好,算是内存不足时的一种比较好的方案。
如果没有swap,则服务器一旦内存不足,就会开始终止应用以释放内存,甚至会崩溃,这会让你丢失一些还没有来得及保存的数据,或者造成宕机。
SWAP设置关系:
4G以内的物理内存,SWAP设置为内存的两倍。
4-8G的物理内存,swap建议设置为8G.
8-64G物理内存,swap设置为16G
64-256G物理内存,swap设置为32G