Linux之SWAP分区的信息查询与手动刷新

0.前言

SWAP分区是 Linux 系统的交换分区,一般在安装系统时建立。

Memory 指机器物理内存,读写速度比 CPU 低一个量级,但比磁盘高了不止一个量级。因此程序和数据如果在内存中的话,会有非常快的读写速度。
但内存造价高于磁盘,且内存在断电时会丢失数据也是不能把所有数据和程序都保存在内存中的原因。
既然不能全部使用内存,那数据还有程序不可能一直霸占内存。当内存空间不足时,就必须要把内存中不经常运行的程序踢出去。

SWAP 全称 Swap place,即交换分区。当内存不够时,被踢出的进程被暂时存储到交换区,以便让系统不会因内存不够而导致 oom(Out Of Memory) 或者其他更致命的情况。当需要这条被踢出的进程时,就从交换区重新加载到内存,否则它不会主动交换到真实内存中。

1.SWAP分区信息查询

根据 Centos 官网介绍,SWAP 的大小可以按如下公式确定

M = Amount of RAM in GB, and S = Amount of swap in GB, then If M < 2, S = M * 2 Else S = M + 2

但有时服务器访问量确实很大,有可能出现 SWAP 分区不够用的情况,需要手动构建,这是后话。

在 Linux上可使用 swapon -s 命令查看当前系统上正在使用的交换空间有哪些,以及相关信息。

cv@cv: ~$ swapon -s
Filename                                Type            Size    Used    Priority
/dev/sdb8                               partition       3905532 0       -2

2.SWAP分区的手动刷新

当 SWAP 占用率较高时,对系统性能可能会有一定的影响,所以在适当情况下,我们需要手动刷新,将 SWAP 里的数据转储回内存,并清空 SWAP 里的数据。

其原理非常简单,就是把 SWAP 关闭再重启。

cv@cv: ~$ sudo swapoff -a && sudo swapon -a

(全文完)


本文作者 :phillee
发表日期 :2021年6月1日
本文链接https://www.cnblogs.com/phillee/p/14838149.html
版权声明 :自由转载-非商用-非衍生-保持署名(创意共享3.0许可协议/CC BY-NC-SA 3.0)。转载请注明出处!
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。

posted @ 2021-06-01 17:31  coffee_tea_or_me  阅读(925)  评论(0编辑  收藏  举报