测者的性测试手册:SWAP的监控

时间:2023-03-08 22:07:54

swap是什么

swap是磁盘上的一块区域,可以使一个磁盘分区,也可以是一个文件,也可能是一个两种的组合。当物理内存资源紧张的时候,操作系统(Linux)会将一些不常访问的数据放到swap里。为其他常使用的进程提供更多的物理内存。当系统要访问swap里的数据的时候,操作系统再将swap上的数据加载到内存中。

上述的过程就是swap in和swap out。

操作系统的swap的设计确实可以提高内存的利用率,但是由于磁盘的IO速度和内存的IO速度相差很远,因此如果出现对swap频繁的IO,那么系统性能就会有致命的影响。

swap的大小设置

swap的大小设置(参考redhat官方建议):

物理内存 建议的交换空间大小 如果开启休眠功能建议的交换空间大小
⩽ 2GB 2 倍内存大小 3倍内存大小
2GB – 8GB 和内存大小一致 2 倍内存大小
8GB – 64GB 至少4G 1.5倍内存大小
> 64GB 至少4G 不建议设置休眠

swap的相关工具

  • 查看swap配置

单独运行swapon启动swap,通过swapoff关闭swap,通过swapon -s查看swap的一些信息。其中返回值中的Size表示swap的大小,单位是k。

  • 查看使用

      free -m是查看内的使用情况的命令,兆为单位。

                total       used       free     shared    buffers     cached
Mem: 128 119 8 0 1 22
-/+ buffers/cache: 95 32
swap: 255 0 255

其中:

    第1行Mem数据:
total 内存总数: 128
used 已经使用的内存数: 119
free 空闲的内存数: 8
shared 当前已经废弃不用,总是0
buffers Buffer Cache内存数: 1
cached Page Cache内存数: 22
第2行-/+ buffers/cache:
-buffers/cache 的内存数:95 (等于第1行的 used - buffers - cached)
+buffers/cache 的内存数: 32 (等于第1行的 free + buffers + cached)
第3行就是swap,表示swap共有255,全部空闲。复制代码