文档介绍:统计一段时间内操作系统缺页次数
实验目的
学习虚拟内存的基本原理和 Linux 虚拟内存管理技术。
深入理解、掌握 Linux 的按需调页过程。
实验内容
统计从当前时刻起,一段时间内操作系统发生的缺页中断次数。
实验提示
一、原理
在 Linux 系统的/proc 文件系统中有一个记录系统当前基本状况的文件 stat。该文件中有
一节是关于中断次数的。这一节中记录了从系统启动后到当前时刻发生的系统中断的总次数
以及各类中断的分别发生的次数。这一节以关键字 intr 开头,紧接着的一项是系统发生中断
的总次数,之后依次是 0 号中断发生的次数,1 号中断发生的次数……其中缺页中断是第 14
号中断,也就是在关键字 intr 之后的第 16 项。如图 1 是查看 stat 文件的终端显示结果,可
以看到系统已经发生过 1313551 次缺页中断。
[******@linux /proc]$ less stat
cpu 2379645 0 2644679 27996304
disk 1029569 213590 0 0
disk_rio 556382 123698 0 0
disk_wio 473187 89892 0 0
disk_rblk 4449910 989524 0 0
disk_wblk 3785424 719136 0 0
page 2504416 1951299
swap 4818 3725
intr 68969288 33020628 2 0 0 0 0 3 0 1 0 0 34635100 0 1 1313551 2 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
ctxt 46494837
btime 1019754086
processes 205568
stat (END)
图 1 stat 文件内容
实验可以利用 stat 文件提供的数据在一段时间的开始时刻和结束时刻分别读取缺页中
断发生的次数,然后作一个简单的减法操作,就可以得出这段时间内发生缺页中断的次数。
由于 stat 文件的数据是由系统动态更新的,过去时刻的数据是无法采集到的,所以这里的开
始时刻最早也只能是当前时刻,实验中采用的统计时间段就是从当前时刻开始的一段时间