CentOS 配置Swap

1、查看目前内存配置情况

第一种方法:运行free -h

 

CentOS 配置Swap

image.png

 

可以看到swap部分参数都为0,即没有配置

第二种方法:运行 swapon -s
如果没有任何输出,则代表没有配置

2、创建文件

运行df -h,查看硬盘空间使用情况,确保有足够的空间

 

CentOS 配置Swap

image.png

创建缓存文件
网上有很多方法,例如:sudo fallocate -l 2G /swapfile,
但是容易报错:fallocate: /swapfile: fallocate failed: Operation not supported
目前未找到原因,所以只好用另一种方式:
运行:dd if=/dev/zero of=/var/swap bs=1M count=5120
if 表示infile,of表示outfile,bs=1M代表增加的模块大小是1M,count=5120代表模块个数5120,也就是5G空间
执行时间较长,且根据文件大小而定,耐心等待 ...

 

CentOS 配置Swap

image.png

3、启用swap


  1. mkswap /var/swap

  2. mkswap -f /var/swap

  3. swapon /var/swap

再运行free -m查看swap是否已启用,
但是到这一步,只是临时swap,需要再配置fstab使swap文件永久有效

4、设置swap文件永久有效

运行vi /etc/fstab
/var/swap swap swap defaults 0 0

重启检查是否已完成配置

5、取消swap

1)查看swap文件位置


  1. [root@iZwz93t5hvwgq7l1r5y8cmZ /]# swapon -s

  2. Filename Type Size Used Priority

  3. /var/swap file 8191996 0 -2

2)取消swap、删除文件


  1. swapoff /var/swap

  2. rm -rf /var/swap

3)检查


  1. [root@iZwz93t5hvwgq7l1r5y8cmZ /]# free -h

  2. total used free shared buff/cache available

  3. Mem: 7.6G 2.7G 174M 1.1M 4.7G 4.6G

  4. Swap: 0B 0B 0B

6、更改Swap配置(依赖度)

1)查看依赖度


  1. [root@iZwz93t5hvwgq7l1r5y8cmZ var]# cat /proc/sys/vm/swappiness

  2. 0

swappiness值的范围为0-100,值越高代表对swap依赖程度越高,但是swap是基于文件储存的缓存交换机制,所以效率明显低于物理内存,swappiness值过高的情况下容易导致物理内存远远没有耗尽便开始使用swap;一般来说swappiness值可以设置为10-60,ssd可以设置的高一点;

2)修改当前swappiness值为15,重启后失效

sysctl vm.swappiness=15

3)更改系统配置值,重启后依旧有效

echo "vm.swappiness = 15"  >>  /etc/sysctl.conf

上一篇:[BUUCTF-pwn] shanghai2019_slient_note


下一篇:动态内存管理 C语言从入门到入土(进阶篇)