linux内核sysfs详解-1,修改Linux内核中Sysfs的/ sys/devices/system/memory /目录

我正在修改Linux Kernel中Sysfs的内存目录。在得到我的教授许可后,我正在寻求来自这里的人们的帮助。这是我真正想要做的。背景:如果我有4 GB RAM,则可以在我的主板上安装4个1 GB DIMMS或2个2 GB DIMMS。通过将这个4GB物理内存划分为许多块,为每个块指定开始和结束物理地址,NUMA在Linux中受到支持。 Sysfs中的'devices'目录包含全局设备层次结构。这包含通过在内核中注册的总线类型发现的每个物理设备。因此有关内存块的细节存储在Linux Kernel的路径'/ sys/devices/system/memory /'中。在这个目录中,我们有一个名为'block_size_bytes'的文件,它决定了我的RAM可以拆分成多少部分。例如在我的系统中,它是8000000,因此RAM被分成32个内存文件夹,从memory0到memory43。每个'memoryX'目录都有一个名为'state'的文件,它表示内存块的在线/离线状态。如果我想“关闭”特定块的内存,我可以在线/离线之间切换。修改Linux内核中Sysfs的/ sys/devices/system/memory /目录

所以这里就是我究竟想做的事:

我要修改这个整个目录结构分为4个目录。为什么4?因为我的主板上有4个1GB DIMM,所以我想把这32个内存块缩小到4个大块,这样我就可以通过在线/离线切换它的'状态'来控制我想要的任何DIMM。所以基本上我想改变DIMM级别的内存状态。

这几乎是我的问题描述。

我的方法:我已经通读了sysfs文件系统,并试图查找负责组织sysfs'memory'目录的内核模块。我想找到该模块并按照我的要求进行编辑并编译该模块。越来越难找到关于这个话题的具体文件,这导致我问这个问题。我所能找到的只是这个C编程文件'/lib/modules/3.8.0-19-generic/source/drivers/base/memory.c',它具有设置内存块“状态”的方法,显示每个存储器部分的开始和结束物理地址以及许多其他方法。但是我无法弄清楚这些方法在哪里被调用,或者哪个模块正在使用这个C文件来设置所有的属性。

您能否让我知道我需要找哪个确切的模块?如果您发现我的方法错误,请您指出我的方向是否正确?

感谢提前:)

+0

您的系统有多少内存控制器(不是通道)?您知道内存中的数据可能会以交错方式存储,即分布在所有DIMM上? –

+0

我对硬件很陌生,但由于我的笔记本电脑有核心i5,通过手册阅读,我有一个集成的双通道DDR3内存控制器。并且说数据可能以交错方式存储,你的意思是说不可能将存储器分成块?基本上,当我插入我的RAM时,我想知道哪个模块负责在sysfs文件系统中的8个块中进行表示,以便我可以根据需要操纵它。如果我没有正确理解它,你能否详细说明你的评论? –

+0

Core i5没有NUMA。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值