Linux 设置swap

Linux 设置swap

适用于没有开启swap的情况

# 1. swap设置大小
- 安装系统时,选择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 空间
# 2. swap何时使用的时机(开启的阀值)
# 查询默认的值
- cat /proc/sys/vm/swappiness
- centos7默认值可能是30;就是当内存使用>=(100-30=70)%内存总量时,开始使用内存;
- 当值为0时,表示内存使用率>100%时使用内存,则表明不使用swap;
- 当值为100时,表示内存使用率>0%时使用内存,这样则无时无刻不使用swap;
# 如何修改swappiness(开启的阀值)
- 当使用内存>=90%时才使用内存;
- `临时设置`
echo 10 > /proc/sys/vm/swappiness
sysctl -p #生效
- `永久设置`
echo "vm.swappiness=10" >> /etc/sysctl.conf #永久修改
sysctl -p #生效

- 能有效使用内存,增强性能;如果机器一直长期超过70%的内存使用量,实际应该想想是不是要增加内存;
# 3. 首先查看系统是否有swap分区
- 可以看到swap分区大小为0,即没有swap分区。
[root@cnbj91vl00886 dev]# free -m
              total        used        free      shared  buff/cache   available
Mem:           7820         956        5569         120        1294        3055
Swap:             0           0           0
# 4. 开始创建swap分区
# 4.1、使用dd命令创建一个swap分区,在这里创建一个4G大小的分区
- if=文件名:表示指定源文件
- of=文件名:表示指定目的文件,可以自己去设定目标文件路径。
- bs=xx:同时设置读入/写出的“块”大小
- count=xx:表示拷贝多少个“块”
- bs * count 为拷贝的文件大小,即swap分区大小
[root@cnbj91vl00886 dev]# dd if=/dev/zero of=/root/swapfile bs=1M count=8192

在这里插入图片描述

# 4.2、格式化新建的分区文件
[root@cnbj91vl00886 dev]# mkswap /root/swapfile

Linux 设置swap_第1张图片

# 4.3、将新建的分区文件设为swap分区
[root@cnbj91vl00886 dev]# swapon /root/swapfile
# 4.4、设置开机自动挂载swap分区
[root@cnbj91vl00886 dev]# echo "/root/swapfile swap swap defaults 0 0" >> /etc/fstab
# 5. 最后再free-h 去查看分区情况
[root@cnbj91vl00886 dev]# free -h
              total        used        free      shared  buff/cache   available
Mem:           7.6G        957M        5.4G        120M        1.3G        3.0G
Swap:          8.0G          0B        8.0G

你可能感兴趣的:(linux,运维,服务器)