swap - TuPengXiong/TuPengXiong.github.io GitHub Wiki
Swap 分区
-
Swap交换分区概念
-
Linux内核为了提高读写效率与速度,会将文件在内存中进行缓存,这部分内存就是Cache Memory(缓存内存)。即使你的程序运行结束后,Cache Memory也不会自动释放。这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存变少。当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。
-
关于Swap分区,其实我们有很多疑问,如果能弄清楚这些疑问,那么你对Swap的了解掌握就差不多了。如何查看Swap分区大小? Swap分区大小应该如何设置?系统在什么时候会使用Swap分区? 是否可以调整? 如何调整Swap分区的大小?Swap分区有什么优劣和要注意的地方? Swap分区是否必要?那么我一个一个来看看这些疑问吧!
-
-
查看分区大小
root@992677227c43:/# free -m
total used free shared buff/cache available
Mem: 1980 126 1506 154 346 1533
Swap: 1023
root@992677227c43:/# swapon -s
Filename Type Size Used Priority
/var/spool/swap file 1048572 0 -1
root@992677227c43:/# cat /proc/swaps
Filename Type Size Used Priority
/var/spool/swap file 1048572 0 -1
- Swap分区大小设置
4G以内的物理内存,SWAP 设置为内存的2倍。
4-8G的物理内存,SWAP 等于内存大小。
8-64G 的物理内存,SWAP 设置为8G。
64-256G物理内存,SWAP 设置为16G。
- 关闭交换分区
swapoff /var/spool/swap
- 创建分区
通过dd命令增加swap
dd if=/dev/zero of=/var/swap bs=1024 count=2048000
创建swap文件
mkswap /var/swap
加载该文件
swapon /var/swap
- 修改/etc/fstab使其启动时自动mount:
- 在/etc/fstab中增加如下语句:
/var/swap swap swap defaults 0 0
- 设置内存剩余多少的时候使用 swap分区内存
- 临时修改
sysctl vm.swappiness=10
- 永久修改
vim /etc/sysctl.conf
修改设置内存剩余10% 使用swapp分区
vm.swappiness = 10
- 查看
cat /proc/sys/vm/swappiness