对于运行Linux的ARM CPU(在具有Raspbian(32位)的Raspberry Pi 3B +上测试):

“Arm®Cortex®-A53MPCore处理器技术参考手册”中的章节是“高速缓存大小选择寄存器”和“高速缓存大小ID”注册,其中包括汇编程序指令。

这些汇编程序指令已经可以在Linux内核头文件asm / cachetype.h中使用:set_csselr(...)和read_ccsidr(),但是无法在用户模式下调用这些函数,因此我们需要构建内核模块获取/打印值:

Makefile:

obj-m += cachesize.o

all:

make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

clean:

make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

文件cachesize.c:

#include #include #include #include MODULE_LICENSE("GPL");

MODULE_AUTHOR("Abc defg");

MODULE_DESCRIPTION("Find out ARM cache sizes");

MODULE_VERSION("0.01");

static int __init lkm_example_init(void) {

// Must run in kernel mode

// Assumptions: L1 (instructions + data), L2 (check your CPU manual)

set_csselr(0);

printk(KERN_INFO "ccsidr L1 data cache = x\n", read_ccsidr());

set_csselr(1);

printk(KERN_INFO "ccsidr L1 instruction cache = x\n", read_ccsidr());

set_csselr(2);

printk(KERN_INFO "ccsidr L2 unified = x\n", read_ccsidr());

return 0;

}

static void __exit lkm_example_exit(void) {

printk(KERN_INFO "Goodbye, World!\n");

}

module_init(lkm_example_init);

module_exit(lkm_example_exit);

然后:

make

insmode cachesize.ko

rmmod cachesize

dmesg | tail

# Compare numbers to the table "CCSIDR encodings" in the "ARM ... Technical Reference Manual"

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/shoujiruanjian/article-344510-1.html

linux使用cpu缓存,解决方案:如何在Linux中获取CPU缓存的大小相关推荐

  1. python 获取cpu使用率_如何在python中获取过去10分钟的cpu使用率

    要测量CPU使用率,您需要比较两个给定时间的使用情况:您无法从过去获得度量点(除非您存储它,如@ajsp建议的那样).在 例如:import psutil import time def calcul ...

  2. 如何在 .NET Core 中获取 CPU 使用率

    这篇文章我们分享一种如何在 .NETCore 中获取 CPU使用率的方法, 它所报告的这个值和 任务管理器 中报告的 CPU 使用值 差不多是一致的. 在 .NET Framework 中,很多人会用 ...

  3. 如何在PHP中获取客户端IP地址[重复]

    本文翻译自:How to get the client IP address in PHP [duplicate] This question already has an answer here: ...

  4. java如何实取随机数_java - 如何在Kotlin中获取随机数?

    java - 如何在Kotlin中获取随机数? 可以在2个参数之间返回随机整数的通用方法,如ruby,可以使用rand(0..n). 有什么建议吗? 16个解决方案 208 votes 我的建议是In ...

  5. php mysql 到表最后_如何在PHP中获取MySQL表的最后插入ID?

    如何在PHP中获取MySQL表的最后插入ID? 我有一张表,经常插入新数据. 我需要获取表格的最后一个ID. 我怎样才能做到这一点? 它类似于SELECT MAX(id) FROM table吗? g ...

  6. 如何在Python中获取文件创建和修改日期/时间?

    我有一个脚本,该脚本需要根据文件创建和修改日期执行一些操作,但必须在Linux和Windows上运行. 在Python中获取文件创建和修改日期/时间的最佳跨平台方法是什么? #1楼 最好的功能是os. ...

  7. 如何在 JavaScript 中获取当前日期?

    问: 想要改进这篇文章?提供这个问题的详细答案,包括引文和解释为什么你的答案是正确的.没有足够细节的答案可能会被编辑或删除. 如何在 JavaScript 中获取当前日期? 答1: HuntsBot周 ...

  8. html 获取文本框值,html - 如何在JavaScript中获取文本框值

    html - 如何在JavaScript中获取文本框值 我正在尝试使用JavaScript从HTML文本框中获取值,但值不是在空格之后 例如: 我只得到:上面的"软件". 我正在使 ...

  9. java+script+当前日期_如何在JavaScript中获取当前日期?

    如何在JavaScript中获取当前日期? #1楼 您可以使用扩展了 Date对象的Date.js库,从而可以使用.today()方法. #2楼 如果您想对日期格式进行更多的粒度控制,我强烈建议您查看 ...

  10. 如何在JavaScript中获取时间戳

    如何在JavaScript中获取时间戳 +运算符 我们可以使用+运算符将日期对象直接转换为UNIX时间戳. 例如,我们可以这样写: +new Date() +日期对象之前操作者触发valueOf的方法 ...

最新文章

  1. network package url_inaddr
  2. python四大软件-PYPL 9月编程语言排行榜发布 Python一枝独秀
  3. c++调用Java以及string互转
  4. 在类模板的声明和定义中把.h与.cpp分离
  5. 很简单很简单的DBHelper类
  6. 对OIM Web(UI)层进行压力测试
  7. c语言字符指针初始化赋值,C语言_指针变量的赋值与运算,很详细详解
  8. C++ template —— 动多态与静多态(六)
  9. 前端如何玩转虚拟机_想运行虚拟机,用win10自带的Hyper-V即可,不用安装其它软件...
  10. PHP 显示信息到控制台console
  11. Vhost dataplane in Qemu | PDF
  12. 单片机c32语言,单片机课件c32IO口.ppt
  13. ios13文件管理器 连接服务器,支持鼠标、文件管理—IOS13和iPad OS深度体验报告
  14. 位居榜首 | 未来智安荣登CCIA「2022年中国网安产业潜力之星」榜单
  15. 前端学习-数据可视化(个人笔记)
  16. 照片在计算机打不开怎么回事,电脑上图片打不开怎么办
  17. kakfka2.2源码分析之handleFetchRequest
  18. Visual Studio 2017下载地址和安装教程(图解版)
  19. mysql查看时区 go时区问题
  20. php落寞了,日渐唱衰的php是否真的已经不堪一击了?

热门文章

  1. 易建科技eKing Cloud招聘,快到碗里来~
  2. 【优化算法】矮猫鼬优化算法(DMO)【含Matlab源码 611期】
  3. 【数字信号调制】基于matlab GUI数字信号调制系统【含Matlab源码 258期】
  4. 【优化预测】基于matlab贝叶斯网络优化LSTM预测【含Matlab源码 1158期】
  5. 【情感识别】基于matlab支持向量机(SVM)语音情感识别【含Matlab源码 543期】
  6. 从头实现linux操作系统_从头开始实现您的第一个人工神经元
  7. java 设计模式的相似_聊聊Java中几种常用的设计模式
  8. java8 merge_给老弟讲解java8中的marge()方法,一顿骚操作
  9. java连oracle报17002,帮忙给看一个java访问oracle的异常
  10. js src 变量_人人都能看懂的鸿蒙 “JS 小程序” 数据绑定原理