目录
- 一、Swap简介
- 二、Swap内存查看
- 三、Swap内存释放
- 1、关闭swap
- 2、查看关闭进度
- 2、开启swap
一、Swap简介
swap space
是磁盘上的一块区域,可以是一个分区,也可以是一个文件。所以具体的实现可以是 swap分区
也可以是 swap文件
。
当系统物理内存吃紧时(所谓的吃紧,应该是指当释放了Cache和Buffer的内存,内存还是不够用~),Linux
会将内存中不常访问的数据保存到 swap
上,这样系统就有更多的物理内存为各个进程服务,而当系统需要访问 swap
上存储的内容时,再将 swap
上的数据加载到内存中,这就是常说的换出和换入。
交换空间可以在一定程度上缓解内存不足
的情况,但是它需要读写磁盘数据,所以性能不是很高
。
现在的机器一般都不太缺内存,如果系统默认还是使用了 swap
是不是会拖累系统的性能?
理论上是的,但实际上可能性并不是很大
。并且内核提供了一个叫做 swappiness
的参数,用于配置需要将内存中不常用的数据移到 swap
中去的紧迫程度。这个参数的取值范围是 0~100
,0 告诉内核尽可能的不要将内存数据移到 swap
中,也即只有在迫不得已的情况下才这么做,而 100 告诉内核只要有可能,尽量的将内存中不常访问的数据移到 swap
中。
在 ubuntu
系统中,swappiness
的默认值是 60
。如果我们觉着内存充足,可以在 /etc/sysctl.conf
文件中设置 swappiness
:
vm.swappiness=10
如果系统的内存不足,则需要根据物理内存的大小来设置交换空间的大小。
二、Swap内存查看
在终端使用如下命令查看Swap的使用情况:
free -h
输出结果:
totalusedfreesharedbuff/cache availableMem:23G7.5G7.5G 25M8.3G 13GSwap:0B0B0B
该命令将显示系统的内存和Swap使用情况,其中Swap一栏显示了Swap的总大小、已使用大小和可用大小等信息。
三、Swap内存释放
首先要 保证内存剩余要大于等于swap使用量,否则会宕机
!根据内存机制,swap分区一旦释放,所有存放在swap分区的文件都会转存到物理内存上
。通常通过重新挂载swap分区完成释放swap。
释放swap内存方法:先关闭swap,再开启swap。
1、关闭swap
这一步因为是后台 在一点一点的释放,如果配置的swap超大,这里就等待得超久一些。
swapoff -a
2、查看关闭进度
swapon -s
2、开启swap
swapon -a