linux系统缺页中断次数统计(OpenEuler) | 您所在的位置:网站首页 › 利用外部中断统计中断次数 › linux系统缺页中断次数统计(OpenEuler) |
OpenEuler20.03 统计缺页中断次数
本文参考Centos7实现缺页中断具体步骤 下载解压linux-4.19.90版本linux内核下载linux-4.19.90.tar.xz压缩包发送到/usr/src目录下(可以用filezilla) 进入/usr/src目录解压缩 tar -xvJf linux-4.19.90.tar.xz解压结束后进入linux-4.19.90目录中 修改源码 修改arch/x86/mm/fault.c文件利用grep找到__do_page_fault的位置 cat -n arch/x86/mm/fault.c | grep __do_page_fault
在extern int page_cluster;语句之后插入 extern unsigned long volatile pfcount;在kernel/kallsyms.c文件尾插入EXPORT_SYMBOL(pfcount); echo 'EXPORT_SYMBOL(pfcount);'>>kernel/kallsyms.c 编译内核确认自身的OpenEuler空闲空间足够(建议提前扩展磁盘容量) 安装ncurses-devel elfutils-libelf-devel openssl-devel yum install ncurses-devel elfutils-libelf-devel openssl-devel -y这里部分OpenEuler的yum工具可能并不能正常使用,用下面的代码覆盖掉 /etc/yum.repos.d/openEuler_x86_64.repo并执行(如果该目录下有其他文件建议删除掉) (如果yum makecache不能正常执行检查自己的dns是否有问题) yum makecache #generic-repos is licensed under the Mulan PSL v2. #You can use this software according to the terms and conditions of the Mulan PSL v2. #You may obtain a copy of Mulan PSL v2 at: # http://license.coscl.org.cn/MulanPSL2 #THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR #IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR #PURPOSE. #See the Mulan PSL v2 for more details. [OS] name=OS baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/OS/$basearch/ enabled=1 gpgcheck=1 gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler [everything] name=everything baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/everything/$basearch/ enabled=1 gpgcheck=1 gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS/everything/$basearch/RPM-GPG-KEY-openEuler [EPOL] name=EPOL baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/EPOL/$basearch/ enabled=1 gpgcheck=1 gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler [debuginfo] name=debuginfo baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/debuginfo/$basearch/ enabled=1 gpgcheck=1 gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS/debuginfo/$basearch/RPM-GPG-KEY-openEuler [source] name=source baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/source/ enabled=1 gpgcheck=1 gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS/source/RPM-GPG-KEY-openEuler [update] name=update baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/update/$basearch/ enabled=0 gpgcheck=1 gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler 产生.config文件(如果不是第一次编译或者编译出错需执行make mrproper) make menuconfig进入如下界面 安装bc yum install bc -y在主目录下执行make(后面的j8为8线程,单make大概需编译3小时,多线程可减少编译时间,可结合自己电脑配置决定线程数) make -j8等待make结束后(内核和模块都会被编译,因此不需要再单独编译模块) 安装模块 make INSTALL_MOD_STRIP=1 modules_install 安装内核 make INSTALL_MOD_STRIP=1 install 安装完成利用命令lsmod可以看见模块已被安装 |
CopyRight 2018-2019 实验室设备网 版权所有 |