1、 SWAP 概述
Swap意思是交换分区,就是我们说的虚拟内存,是从硬盘中划分出的一个分区。当物理内存不够用的时候,内核就会释放缓存区(buffers/cache)里一些长时间不用的程序,然后将这些程序临时放到Swap中,也就是说如果物理内存和缓存区内存不够用的时候,才会用到Swap。
2、Swap分区设置多大才是最合适的?
一般来说可以按照如下规则设置swap大小(以实际情况为准,这只是建议)
4G以内的物理内存,SWAP 设置为内存的2倍。
4-8G的物理内存,SWAP 等于内存大小。
8-64G 的物理内存,SWAP 设置为8G。
64-256G物理内存,SWAP 设置为16G。
3、物理内存使用多少为不够用?
实际上并不是等所有的物理内存都消耗完毕之后,才去使用swap的空间,而是由swappiness 参数值 来控制物理内存够不够用。
[root@YHB ~]# cat /proc/sys/vm/swappiness
本人的虚拟机默认是30
swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,
swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。
4、如何更改swappiness参数?
临时修改:
[root@YHB ~]# sysctl vm.swappiness=10
永久修改:
[root@YHB ~]# echo “vm.swappiness=100” >> /etc/sysctl.conf
立即生效方法:
[root@YHB ~]# sysctl -p
下面要增加Swap分区了
5、查看swap分区大小
[root@YHB ~]# free -h
6、增加500M的Swap 分区
[root@YHB ~]# dd if=/dev/zero of=/tmp/500m bs=1M count=500
dd if=/dev/zero of=/tmp/500m bs=1M count=500 分别是什么意思
dd:用指定大小的块拷贝文件,并在拷贝的同时进行指定的转换
if=:(input file) 数据的来源 (源)
of=:(outpu file)输出文件 (目标)
bs=:(block size) 每次复制多大(bytes)
count=:次数
/dev/zero 白洞 源源不断的输出
/dev/null 黑洞 吸收
/dev/urandom 随机字符
7、查看新增分区的文件类型
[root@YHB ~]# file /tmp/500m (数据类型)
8、将文件变成swap类型
[root@YHB ~]# mkswap /tmp/500m
mkswap命令可将磁盘分区或文件设为Linux的交换区
9、激活swap分区
[root@YHB ~]# swapon /tmp/500m
注:这个不是错,他说是权限给的高了,我们改下,实际上已经把这500M分区增加上了
11、更改新增的Swap分区的权限
[root@YHB ~]# chmod 600 /tmp/500m
12、查看Swap的组成情况
[root@YHB ~]# swapon -s
13、永久激化
[root@YHB ~]# vim /etc/fstab (开机加载到linux的文件系统)