当前位置: 首页 > news >正文

04_20 直接使用代码 创建内核模块获取物理内存信息

好像和 free得出来有关 和/proc/meminfo 有关
但是下面是全部的物理页

#include <linux/version.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/mm.h>//下面宏表示物理内存空间起始地址 对应页帧号
#define ARCH_PFN_OFFSET (0UL)static int __init my_init(void)
{sturct page *p;unsigned long i,pfn,valid=0;int free = 0;int locked = 0;int resvered = 0;int swapcache = 0;int reference = 0;int slab = 0;int private = 0;int uptodate = 0;int dirty = 0;int active = 0;int wirteback = 0;int mappedtodisk =0;unsigned long mun_physpages = 0;  mun_physpages = get_mun_physpages(); //获得所有物理页for(i=0;i<mun_physpages;i++){pfn = ARCH_PFN_OFFSET+i;//检查页是否有效if(!pfn_valid(pfn)){continue;valid++;}//获得页的描述符p=pfn_to_page(pfn);if(!p)continue;//空闲页面if(!page_count(p)){free++;continue;}//页面上锁if(!pagelocked(p)){locked++;}//不能换出页面if(!Pageresvered(p)){locked++;}//交换页面if(!Pageswapcache(p)){swapcache++;}//slpa分配区创建页面if(!Pageslab(p)){slap++;}if(!Pageprivate(p)){private++;}//读操作完成if(!Pageuptodate(p)){uptodate++;}//脏页,页面内容修改过 没有更新到romif(!Pagedirty(p)){dirty++;}if(!Pageactive(p)){active++;}//页面正在回写if(!Pagewirteback(p)){wirteback++;}//页面分配到磁盘if(!Pagemappedtodisk(p)){mappedtodisk++;}}}

相关文章:

04_20 直接使用代码 创建内核模块获取物理内存信息

好像和 free得出来有关 和/proc/meminfo 有关 但是下面是全部的物理页 #include <linux/version.h> #include <linux/module.h> #include <linux/init.h> #include <linux/mm.h>//下面宏表示物理内存空间起始地址 对应页帧号 #define ARCH_PFN_OFFSET…...

<C++> STL_list

1.list的介绍 list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。list的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向 其前一个元素和后一个元素。list与…...

聚类分析 | MATLAB实现基于FCM模糊C均值聚类结果可视化

聚类分析 | MATLAB实现基于FCM模糊C均值聚类结果可视化 目录 聚类分析 | MATLAB实现基于FCM模糊C均值聚类结果可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 FCM模糊C均值聚类&#xff0c;聚类结果可视化&#xff0c;MATLAB程序。 FCM&#xff08;Fuzzy C-Means&a…...

C++笔记之设计模式:setter函数、依赖注入

C笔记之设计模式&#xff1a;setter函数、依赖注入 参考笔记&#xff1a; 1.C笔记之静态成员函数可以在类外部访问私有构造函数吗&#xff1f; 2.C笔记之设计模式&#xff1a;setter函数、依赖注入 3.C笔记之两个类的实例之间传递参数——通过构造函数传递类对象的方法详细探究…...

Spring MVC详解

文章目录 一、SpringMVC1.1 引言1.2 MVC架构1.2.1 概念1.2.2 好处 二、开发流程2.1 导入依赖2.2 配置核心(前端)控制器2.3 后端控制器2.4 配置文件2.5 访问 三、接收请求参数3.1 基本类型参数3.2 实体收参【重点】3.3 数组收参3.4 集合收参 【了解】3.5 路径参数3.6 中文乱码 四…...

谷歌公开.zip域名,应采取哪些措施应对可能的安全风险?

近期&#xff0c;谷歌发布了几个新的顶级域名&#xff0c;这些新域名包括.dad、.esq、.prof、.phd、.nexus、.foo、.mov以及本文我们将要提到的.zip域名。自发布以来&#xff0c;多个安全社区都开始讨论这些顶级域名所带来的影响&#xff0c;主要原因是.zip很容易被误认为是文件…...

css3滤镜属性filter让网页变黑白

今天是特殊的日子&#xff0c;抗击疫情全国哀悼日&#xff0c;向英雄们致敬&#xff0c;一路走好&#xff01;应该发现了今天很多网站页面都是黑白色的&#xff0c;我的博客今天都是黑白色&#xff0c;用css3滤镜属性filter让网页马上变黑白&#xff0c;一行代码就搞定。 在你…...

C++教程 - How to C++系列专栏第5篇

关于专栏 这个专栏是优质的C教程专栏&#xff0c;如果你还没看过第0篇&#xff0c;点击这里去第0篇 本专栏一致使用操作系统&#xff1a;macOS Ventura&#xff0c;代码编辑器&#xff1a;CLion&#xff0c;C编译器&#xff1a;Clang 感谢一路相伴的朋友们&#xff0c;感谢你…...

Vue2向Vue3过度核心技术插槽

目录 1 插槽-默认插槽1.作用2.需求3.问题4.插槽的基本语法5.代码示例6.总结 2 插槽-后备内容&#xff08;默认值&#xff09;1.问题2.插槽的后备内容3.语法4.效果5.代码示例 3 插槽-具名插槽1.需求2.具名插槽语法3.v-slot的简写4.总结 4 作用域插槽1.插槽分类2.作用3.场景4.使用…...

vite配置electron、ElementPlus或者AntDesignVue

这是全部的配置原文&#xff1a; import { defineConfig } from vite; import vue from vitejs/plugin-vue; import electron from "vite-plugin-electron"; import electronRenderer from "vite-plugin-electron-renderer"; import polyfillExports from…...

时序分解 | MATLAB实现基于SVD奇异值分解的信号分解分量可视化

时序分解 | MATLAB实现基于SVD奇异值分解的信号分解分量可视化 目录 时序分解 | MATLAB实现基于SVD奇异值分解的信号分解分量可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 SVD分解重构算法&#xff0c;MATLAB程序&#xff0c;奇异值分解 (Singular Value Decompo…...

强化学习系列--时序差分学习方法(SARSA算法)

强化学习系列--时序差分学习方法&#xff08;SARSA算法&#xff09; 介绍示例代码 介绍 SARSA&#xff08;State-Action-Reward-State-Action&#xff09;是一种强化学习算法&#xff0c;用于解决马尔可夫决策过程&#xff08;MDP&#xff09;中的问题。SARSA算法属于基于值的…...

深度学习9:简单理解生成对抗网络原理

目录 生成算法 生成对抗网络&#xff08;GAN&#xff09; “生成”部分 “对抗性”部分 GAN如何运作&#xff1f; 培训GAN的技巧&#xff1f; GAN代码示例 如何改善GAN&#xff1f; 结论 生成算法 您可以将生成算法分组到三个桶中的一个&#xff1a; 鉴于标签&#…...

adb shell setprop 、开发者选项

App性能调试详解 Android App性能监控工具 更多系统属性参考 一、开启 GPU Render 的profiling bar&#xff1a; Gpu渲染速度 adb shell setprop debug.hwui.profile true adb shell setprop debug.hwui.profile visual_bars adb shell setprop debug.hwui.profile visual…...

性能测试面试问题,一周拿3个offer不嫌多

性能测试的三个核心原理是什么&#xff1f; 1.基于协议。性能测试的对象是网络分布式架构的软件&#xff0c;而网络分布式架构的核心是网络协议 2.多线程。人的大脑是单线程的&#xff0c;电脑的cpu是多线程的。性能测试就是利用多线程的技术模拟多用户去负载 3.模拟真实场景。…...

Android Bitmap压缩

Android View截屏长图拼接&#xff08;RecyclerView&#xff09; 我们在实际使用中&#xff0c;往往图片转化成Bitmap&#xff0c;对Bitmap操作的时候&#xff08;如:截屏分享等&#xff09;&#xff0c;可能Bitmap会过大&#xff0c;导致无视实现对应功能。那么我们就需要对B…...

不同子网络中的通信过程

从输入www.baidu.com经历了什么 一、DNS&#xff08;网址->IP&#xff09; 二、ARP&#xff08;IP->MAC&#xff09; A->B&#xff1a;有数据发送&#xff0c;数据封装ip之后发现没有主机B的mac地址。然后ARP在本网段广播&#xff1a;检查目标地址和源地址是否在同一…...

Ubuntu Touch OTA-2 推出,支持 Fairphone 3 和 F(x)tec Pro1 X

导读UBports 基金会近日宣布为基于 Ubuntu 20.04 LTS (Focal Fossa) 的 Ubuntu Touch 移动操作系统发布并全面提供 OTA-2 软件更新。 Ubuntu Touch OTA-2 在首次 OTA 更新整整四个月后发布&#xff0c;支持新设备&#xff0c;包括 Fairphone 3、F(x)tec Pro1 X 和 Vollaphone X…...

【网络】数据链路层——MAC帧协议 | ARP协议

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《网络》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 来到数据链路层后&#xff0c;完整的数据被叫做数据帧&#xff0c;习惯上称之为MAC帧。 MAC帧协议 | A…...

【Spring Boot】Spring Boot自动加载机制:简化应用程序的启动

在微服务盛行的今天&#xff0c;快速搭建和启动应用程序变得至关重要。Spring Boot作为Java生态系统中主流的框架&#xff0c;其自动加载机制使得开发者能够快速构建和启动应用程序。本文将详细介绍Spring Boot的自动加载机制&#xff0c;并通过代码示例加以说明。 首先&#…...

centos7搭建apache作为文件站后,其他人无法访问解决办法

在公司内网的一个虚拟机上搭建了httpsd服务&#xff0c;准备作为内部小伙伴们的文件站&#xff0c;但是搭建好之后发现别的小伙伴是无法访问我机器的。 于是寻找一下原因&#xff0c;排查步骤如下&#xff1a; 1.netstat -lnp 和 ps aux 先看下端口和 服务情况 发现均正常 2.…...

【开个空调】语音识别+红外发射

废话少说&#xff0c;直接上空调板子&#xff1a;YAPOF3。红外接收发射模块用的某宝上发现的YF-33(遗憾解码还没搞清楚&#xff0c;不然做个lirc.conf功能才多)。最后是语音识别用的幻尔的&#xff0c;某宝自然也有&#xff0c;它是个i2c的接口。 本篇胡说八道其实纯粹为了留个…...

【hibernate validator】(二)声明和验证Bean约束

首发博客地址 https://blog.zysicyj.top/ 一、声明bean约束 1. 字段级别约束 不支持静态类型字段 验证引擎直接访问实例变量&#xff0c;不会调用属性的访问器 在验证字节码增强的对象时&#xff0c;应适用属性级别约束&#xff0c;因为字节码增库无法通过反射确定字段访问 pac…...

Redis持久化机制之RDB,AOF与混合AOF

Redis是一款高性能的NoSQL数据库&#xff0c;它的速度非常快&#xff0c;同时也支持多种持久化机制&#xff0c;其中最常用的是RDB和AOF&#xff0c;还有一种混合AOF方式。那么这些持久化机制到底是什么&#xff0c;有什么不同呢&#xff1f; RDB是Redis默认的持久化方式&…...

为啥外卖小哥宁愿600一月租电动车,也不花2、3千买一辆送外卖!背后的原因......

大家好&#xff01;我是菜哥&#xff01; 又到周末了&#xff0c;我们聊点非技术的东西。最近知乎“为何那些穿梭于城市大街小巷的外卖小哥&#xff0c;宁愿每月掏出600块租一辆电动车&#xff0c;也不愿意掏出2、3千买一辆呢&#xff1f;” 冲上热榜&#xff01; 听起来有点“…...

分布式定时任务框架Quartz总结和实践(2)—持久化到Mysql数据库

本文主要介绍分布式定时任务框架Quartz集成SpringBoot持久化数据到Mysql数据库的操作&#xff0c;上一篇文章使用Quartz创建定时任务都是保存在内存中&#xff0c;如果服务重启定时任务就会失效&#xff0c;所以Quartz官方也提供将定时任务等信息持久化到Mysql数据库的功能&…...

Linux 服务器搭建配置,开发效率一飞冲天 - Centos 篇

大家好&#xff0c;我是比特桃。最近白嫖了一台 Centos 云服务器&#xff0c;用来做日常开发&#xff0c;特此记录一下搭建配置的过程。 我之前有篇文章是基于 Ubuntu 的&#xff1a;Linux 服务器搭建配置&#xff0c;开发效率一飞冲天 - Ubuntu 篇 如同个人电脑一样&#xff0…...

Day46|leetcode 139.单词拆分

leetcode 139.单词拆分 题目链接&#xff1a;139. 单词拆分 - 力扣&#xff08;LeetCode&#xff09; 视频链接&#xff1a;动态规划之完全背包&#xff0c;你的背包如何装满&#xff1f;| LeetCode&#xff1a;139.单词拆分_哔哩哔哩_bilibili 题目概述 给你一个字符串 s 和一…...

深入理解高并发编程 - Thread 类的 stop () 和 interrupt ()

stop() stop() 方法被用于停止线程。然而&#xff0c;需要注意的是&#xff0c;stop() 方法已经被标记为已废弃&#xff08;deprecated&#xff09;&#xff0c;并且不推荐使用。这是因为使用该方法可能导致不可预料的问题和数据不一致性&#xff0c;因此它被认为是不安全的。…...

C语言之三子棋游戏实现篇

目录 主函数test.c 菜单函数 选择实现 游戏函数 &#xff08;函数调用&#xff09; 打印棋盘数据 打印展示棋盘 玩家下棋 电脑下棋 判断输赢 循环 test.c总代码 头文件&函数声明game.h 头文件的包含 游戏符号声明 游戏函数声明 game.h总代码 游戏函数ga…...

wordpress适合做什么网站/推广竞价账户托管

为什么80%的码农都做不了架构师&#xff1f;>>> apache Httpclient基于java BIO实现的&#xff0c;也是基于apache HttpCore项目。他最基本的功能是执行HTTP方法。HttpClient的API的主要入口就是HttpClient接口&#xff0c;看看这个示例&#xff1a; package httpc…...

qq云端服务器/网站优化排名首页

字符串转换整数的库函数Given a string and we have to convert it into lowercase string without using any library function. 给定一个字符串&#xff0c;我们必须在不使用任何库函数的情况下将其转换为小写字符串。 PHP code: PHP代码&#xff1a; <?php//function …...

广州市住房和城乡建设厅网站首页/德芙巧克力软文推广

信号量的基本介绍&#xff1a; 信号量的本质是⼀种数据操作锁&#xff0c;它本⾝不具有数据交换的功能&#xff0c;⽽是通过控制其他的通信资源&#xff08;⽂件&#xff0c;外部设备&#xff09;来实现进程间通信&#xff0c; 它本只是⼀种外部资源的标识。信号量在此过程中负…...

佛山市外贸网站建设公司/百度指数查询官网入口登录

Spring之AOP&#xff08;七&#xff09; 参考&#xff1a;Spring官方文档 微信公众号&#xff1a;狂神说 一、什么是AOP AOP&#xff08;Aspect Oriented Programming&#xff09;&#xff1a;面向切面编程&#xff0c;通过预编译方式和运行期动态代理实现程序功能的统一维护…...

浙江省一建建设集团网站/电脑培训学校排名

垃圾收集器是垃圾回收算法(标记-清除算法、复制算法、标记-整理算法、火车算法)的具体实现&#xff0c;不同商家、不同版本的JVM所提供的垃圾收集器可能会有很在差别&#xff0c;本文主要介绍HotSpot虚拟机中的垃圾收集器。下图是java8 HotSpot虚拟机所有的垃圾收集器,连接先代…...

青海住房和城乡建设部网站/长沙市网站制作

如何在ZEMAX和MATLAB之间通信本文内容&#xff1a;1如何在MATLAB和ZEMAX中设置通信链接2如何为MATLAB设置ZEMAX DDE工具箱3常见问题及解答Zemaxand Matlab : 强大的配对Zemax具有内置的DDE(动态数据交换)服务器&#xff0c;因而允许其他的windows程序和zemax函数之间建立链接。…...