内核编译-系统缺页次数统计实验流程记录(基于CentOS 7.5)

本文记录了一次在CentOS 7.5系统上进行内核编译,统计缺页次数的实验过程。从系统准备、内核源码包下载、内核源码修改、编译安装到使用pfcount进行缺页计数的详细步骤,包括克隆系统、设置pfcount变量、编译内核和模块、安装及验证。
摘要由CSDN通过智能技术生成

写在前面

经过两天的反复实验,磕磕绊绊终于完成了一个完整的成功案例,编译内核时间长达两到三个小时,而且很容易出现错误,所以提示大家做好系统备份(VMware备份很简单,拍摄快照即可,建议在关机状态下);

还有一些基础的工具,比如gcc,openssl-devel这些并没有提示安装,如果是新系统的话也请检查是否安装了这些必要工具;

下载源码包网速不佳的可以找FQ插件(时好时坏吧,昨天不行,今天试了还可以);

要找比自己系统内核高一点的内核做实验;

我的实验环境

VMware 14 Pro虚拟机

系统版本:CentOS Linux release 7.5.1804 (Core)

内核版本:3.10.0-957.10.1.el7.x86_64

Linux版本:Red Hat 4.8.5-36

一、系统准备

磁盘容量要求

推荐可用容量20G+,最低不小于15G,具体查看方法

#输入命令
df -h

在这里插入图片描述
如果容量不够,先进行扩容或重新安装操作系统并分配更多的磁盘空间;

克隆系统

由于编译更换内核比较复杂,具有一定”危险性“,所以如果是使用VMware虚拟机,可以先克隆系统环境,在克隆出来的系统下做此实验,不会对原系统造成影响;

在这里插入图片描述

建议在关机状态下进行克隆操作,右键点击目标虚拟机,选择管理->克隆

克隆源选择

如果是拍摄过快照(进行过备份),可以从现有快照克隆,如果没有选择第一项即可;

在这里插入图片描述

克隆类型选择

两种方式理论上都不会影响到源系统的运行;

磁盘空间足够大的建议创建完整克隆,不用依赖源系统;

链接克隆,占用空间小,但需要依赖源系统存在;

在这里插入图片描述

然后输入名称和位置就可以了;

查看ip地址

开机登录后,查看ip地址命令

ip addr

得到ip地址后就可以使用其他终端工具连接,获得更好的体验;

二、内核源码包准备

查看内核版本

首先查看当前系统使用的内核版本,输入命令

uname -r
#我的是
#3.10.0-957.10.1.el7.x86_64

下载内核源码包

提示:如果下载速度非常慢,可以挂VPN或者使用浏览器FQ插件提速;

下载方法:https://ieevee.com/tech/2018/03/30/centos-kernel.html

在这里插入图片描述

我的内核版本是这里3.10.0-957.10.1.el7.x86_64,所以我下载的是linux-3.10.0-957.12.1.el7.tar.xz

(一般选择要比自己的内核版本高一点点的版本)

注意:文件下载下来之后需要重命名.tar.xz后缀,才能进行解压;(不要在Windows下解压)

解压内核源码包

首先解压源码包;

tar -xvJf linux-3.10.0-957.12.1.el7.tar.xz

然后将解压后的文件夹移至/usr/src/目录下

mv linux-3.10.0-957.12.1.el7 /usr/src/

三、修改源码

首先切换到源码主目录,下面的操作全都在主目录下进行

cd /usr/src/linux-3.10.0-957.12.1.el7/

定义pfcount变量

这里需要修改arch/x86/mm/fault.c文件,由于文件内容较长,我们首先要确定添加大致位置;

cat -n arch/x86/mm/fault.c | grep __do_page_fault

在这里插入图片描述

根据输出,大致位置在1114行(你的可能不一样,以你的输出为主)

vim打开,并按:输入你的行数,回车跳转;

vim arch/x86/mm/fault.c

在这里插入图片描述

即可跳转至目标行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值