sar -B输出中的字段是什么意思?

sar手册页说:

pgpgin / s – 系统每秒从磁盘读入的总千字节数。

pgpgout / s – 系统每秒分页到磁盘的总千字节数。

故障/秒 – 系统每秒进行的页面故障(主要+次要)数量。 这不是生成I / O的页面错误的计数,因为某些页面错误可以在没有I / O的情况下解决。

majflt / s – 系统每秒发生的主要故障数量,这些故障是从磁盘加载内存页面所需的

这是否衡量交换活动? 它指的是什么分页? 从磁盘获取数据被认为是分页?

另外,我已经读过majflt / s的大的和不变的值并不好。 为什么?

例如:

 Sar -B

 12:00:08 PM pgpgin / s pgpgout / s fault / s majflt / s
 12:10:05 AM 207.55 2522.76 5109.80 0.01
 12:20:07 AM 303.83 274.64 4446.52 0.00
 12:30:05 AM 53.85 251.81 4183.98 0.00
 12:40:05 AM 43.19 234.05 4181.53 0.00
 12:50:06 AM 88.89 265.46 4311.81 0.00
 01:00:09 AM 64.60 232.72 4239.05 0.00
 01:10:07 AM 69.71 216.89 4523.03 0.00
 01:20:06 AM 81.37 250.02 4359.93 0.00
 01:30:06 AM 79.77 246.28 4291.49 0.00
 01:40:02 AM 42.89 227.22 4319.88 0.02
 01:50:06 AM 214.46 441.33 4760.78 0.00
 [...]

分页与交换不同。 调用可执行文件从磁盘读取部分二进制代码或使用内存映射文件时,您可能会进行分页活动。 这不(必然)意味着使用交换。 pgpin / s和pgpout / s值是指这个过程。

主要故障/秒会测量由于内存请求而不是当前加载到物理内存的部分虚拟地址空间而需要发生的磁盘读取活动。 此指标也不是专门用于换出页面,而是用于任何types的页面(包括磁盘上的内存映射文件和可执行二进制文件)。

一个大量的主要故障将意味着您的进程执行被中断太多,无法等待磁盘I / O完成读取页面(代码,内存映射文件数据或先前交换到磁盘的其他内存部分)。

这被认为是一个很好的指标,如果你的系统在当前的负载下可能缺less内存 – 如果以前加载到内存中的页面由于内存不足而被重新抛出(或换出),重复的错误将会重复产生然后再次请求,因为它们正在由当前进程积极地进行工作。