统计Linux系统缺页的次数实验

本文记录了一次大三课程设计,通过在Linux内核3.16.62中自建变量和利用/proc文件系统,实现统计系统缺页次数。详细步骤包括:修改内核源码、编译安装新内核、新建内核模块并加载,以及通过/proc查看缺页统计。过程中遇到的问题和解决方案也进行了分享。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是我在大三的时候的一个课程设计,觉得挺有意思,所以就算是当作我的第一个博客吧!

先放题目上来:

通过在Linux内核中自建变量,并利用/proc文件系统作为中介的方法,统计系统缺页的次数。

要求: (1)在内核中实现缺页次数统计; (2)编译并安装新内核; (3)新建内核模块,并加载到新内核,通过/proc实现用户态下查看缺页次数。

我下的虚拟机是centos:

然后我在网上下的那个内核的版本是linux-3.16.62,将其下载解压后放在/usr/src/kernels下。

//大家可以去官网下,但是官网的水龙头太小,所以也可以选择中科大的开源镜像站

进入linux-3.16.62:

[root@localhost ~]# cd /usr/src/kernels/linux-3.16.62

 

然后就可以开始了。

修改fault.c,执行如下命令:

[root@localhost linux-3.16.62]# vi arch/x86/mm/fault.c 

//在do_page_fault函数上一行定义统计缺页次数的全局变量pfcount,加入的一行如下:

unsigned long volatile pfcount;

//将pfcount加入到do_page_fault函数内,用于统计缺页的次数,加入的代码如下:

pfcount++;

添加完的结果:

改完之后保存退出。

随后修改mm.h:

[root@localhost linux-3.16.62]# vi include/linux/mm.h

/

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值