关于Swap交换分区、调整关闭

  • Post author:
  • Post category:其他




关于Swap交换分区



1.什么是Swap交换分区



官方给出的文档:


Linux内核为了提高读写效率与速度,会将文件在内存中进行缓存,这部分内存就是Cache Memory(缓存内存)。即使你的程序运行结束后,Cache Memory也不会自动释放。这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存变少。当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。



个人理解



如同windos的虚拟内存,就是在硬盘上划出一小部分空间,当成虚拟内存。作用是当实际内存不够用的时候,系统将长时间没有运行的程序拷贝到交换分区中,从而为当前运行的程序腾出足够的内存空间,而被调用到交换分区的程序激活时,再从交换分区中调用出来。



2.交换分区设置多少合适


①甲骨文官方给的参考方案

物理内存 交换分
512MB 1GB
1GB—2GB 1.5倍的内存
2GB—8GB 等同于内存
超过8GB 内存的0.75倍


②民间野生方案

物理内存 交换分
4GB以内 两倍的内存
4GB-8GB 等同于内存
8GB—64GB 8GB
64GB-256GB 16GB



3.调整交换分区大小

①查看

[root@localhost /] free -m
              total        used        free      shared  buff/cache   available
Mem:           1980         244        1530           9         204        1583
Swap:          2047           0        2047

②如果没有交换分区,如何创建

dd if=/dev/zero of=/data/swap bs=512 count=8388616 //将zero设备作为输出,写入swap,count写入多少次,这里一共写入4G,如果没有swap就在data下创建一个swap的文件
mkswap /data/swap //设置swap为交换区
swapon /data/swap //启用
echo/data/swap swap swap defaults 0 0” >> /etc/fstab //开机引导时会自动启动

③释放交换分区分区的内容

[root@localhost data] swapon -s
Filename                                Type            Size    Used    Priority
/data/swap                              file            4194304 0       -1

④关闭交换分区

[root@localhost /] swapon -s    #先查看
文件名                          类型            大小    已用    权限
/dev/dm-1                               partition       2097148 0       -2
[root@localhost /] swapoff /dev/dm-1  #后面跟交换分区的绝对路径

⑤调整交换分区的大小

先关闭交换分区,格式化交换分区,然后调整交换分区逻辑卷的大小,然后挂载。

mkswap /dev/dm-1 
lvreduce -L 3G dev/dm-1  #设置了一个3GB的逻辑分区,这里自行设置大小。

最后在

vim /etc/fstab

配置下挂载信息保存退出 ,

mount -a

刷新挂载即可。



版权声明:本文为qq_26129413原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。