swap设置大小建议

1
2
3
4
5
6
7
8
9
10
11
- 安装系统时,选择swap分区;swap不是越大越好,越大的时候说明内存不够用,应该增加内存。
- redhat官方建议:
物理内存小于等于2GB的swap, 设置为物理内存的2倍
物理内存大于2GB小于等于8G时swap, 置为等同与物理内存的大小
物理内存大于8GB时swap, 置为大于等于4GB但不超过8GB。
- 建议
内存小于 4GB 时,推荐不少于 2GB 的 swap 空间
内存 4GB~16GB,推荐不少于 4GB 的 swap 空间
内存 16GB~64GB,推荐不少于 8GB 的 swap 空间
内存 64GB~256GB,推荐不少于 16GB 的 swap 空间
//实际我本机内存32G分配ubantu24G,仍然会报错,建议wsap大于16G

新建或修改swap分区

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
方案一:修改原有文件大小方式
第一步:进入系统根目录cd /;
第二步:执行:sudo dd if=/dev/zero of=/swap bs=1M count=16384 //每段块1M
共16384块,即16G
第三步:执行:sudo mkswap /swap // 激活swap空间
第四步:执行:sudo swapon /swap
最后,使用free -m命令,验证是否ok。

方案二:设置新的交换分区
进入根目录:cd /
创建一个新的交换分区文件:sudo dd if=/dev/zero of=/swap bs=1M count=16384
创建swap文件系统sudo mkswap -f swap;
开启新的swap sudo swapon swap
关闭并删除原有的swap文件sudo swapoff swapfile && sudo rm /swapfile
设置开机启动:将/etc/fstab中的swapfile改为swap
最后,使用free -h命令,验证是否ok。

设置linux物理内存使用多少开始使用swap的阈值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1.查询默认的值
- cat /proc/sys/vm/swappiness
- centos7默认值可能是30;就是当内存使用>=(100-30=70)%内存总量时,开始使用内存;
- 当值为0时,表示内存使用率>100%时使用内存,则表明不使用swap;
- 当值为100时,表示内存使用率>0%时使用内存,这样则无时无刻不使用swap;

2.如何修改swappiness(开启的阀值)
- 当使用内存>=90%时才使用内存;
- `临时设置`
sudo -i
echo 20 > /proc/sys/vm/swappiness
sysctl -p #生效
- `永久设置`
sudo -i
echo "vm.swappiness=20" >> /etc/sysctl.conf #永久修改
sysctl -p #生效
- 能有效使用内存,增强性能;如果机器一直长期超过70%的内存使用量,实际应该想想是不是要增加内存;