linux跟踪内存块,在Linux程序中跟踪活动使用的内存

我想跟踪各种程序在特定状态下触摸的内存量.例如,假设我有一个图形程序.当它被最小化时,它可能会使用更少的内存,因为它不会重绘窗口,这需要读取图像和字体并执行大量的库函数.这些对象仍可在内存中访问,但实际上并未使用它们.

像top这样的工具用途有限,因为它们只是告诉我们将多少内存映射到程序的地址空间,以及它有多少内存驻留在物理RAM中.同样,泄漏检测器只会告诉内存何时无法访问,而不是仅仅是因为它没有被使用.

是否存在可以以这种方式跟踪活动使用/未使用的内存的现有工具?如果可能的话,我不仅要跟踪堆上的使用情况,还要跟踪存储程序/库代码的内存.

编辑:我想澄清一下:我想知道一个程序在某一点之后实际读取,写入或执行的内存,即一旦它达到某个状态.虽然地址空间中的页数和常驻页数是重要的测量值,但这不是我想要的.

我现在正在追求三种方法:

>我编写了一个库,清除了使用`mprotect`从/ proc / self / maps读取的所有内存区域(堆栈及其自己的代码除外)的保护位.它有一个segfault处理程序,可以恢复保护位并递增计数器.我用`LD_PRELOAD`加载它,并在收到信号时开始跟踪内存访问.这产生了一些看似虚假地址的真正故障(它们在故障时不存储在任何寄存器或附近的存储器中).

>我编写了一个`purge`程序,它使用`mmap`从内存中分配和读取,直到`mmap`返回错误.这有望强制执行目标进程中的所有页面,这些页面在`purge`运行时被暂停.然后,我使用`pidstat`计算目标进程恢复时页面入口的数量.这似乎有效,但它是一个非常生硬的工具.它没有提供有关触摸的页面的任何信息.

>我被告知valgrind允许您编写插件,导致某些操作在某些事件上执行,例如内存访问.到目前为止看起来很有希望

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488316.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新基建专题报告:未来发展方向及重点产业分析

报告来源:中银证券转自:未来智库一、新基建以强外溢性稳增长、补短板、调结构1)新基建以强外溢性稳增长全球经贸摩擦加剧,叠加海外疫情导致各国经济存在不确定性的影响下,外需不足,内需承压,经济…

查看网站所有会话_你能看到网站上每个产品的数据吗?

经常有群友问怎么查看网站上每一个产品的数据。查看每个产品的数据,有助于我们了解网站上哪个产品是热销品,哪个产品还需要进行优化,从产品层面优化提高网站整体的转化率。查看方法也很简单,我们还是打开Google Analytics点击左侧…

C++实现树的基本操作,界面友好,操作方便,运行流畅,运用模板

Ⅰ.说明:1.采用左孩子右兄弟的方式,转化为二叉树来实现。2.树的后根遍历与二叉树的中根遍历即有联系又有区别,请读者注意分析体会。Ⅱ.功能:1.创建树并写入数据2.先根遍历树3.计算树高4.后根遍历树5.层次遍历树6.搜索数据域为某值…

linux进程管理命令kill,Linux进程管理命令-kill | IT运维网

格式:kill -l [signal]-l:显示当前系统可用信号-l:显示当前系统可用信号[rootlocalhost ~]# kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL10) SIGUSR111) SIGSEGV12) SIGUSR213) S…

罗敏敏组建立新型脑-脑接口实现“阿凡达”式的跨鼠遥控

来源:中国科学杂志社人或动物个体之间的交流主要依靠感觉系统,比如视觉、听觉、嗅觉和触觉。2009年的科幻电影《阿凡达》展示了地球上的人可以通过脑对脑的直接信息传递,远程控制潘多拉星上经过基因改造的纳威人身体。近几年有研究展示可以从…

双RocketMq集群的搭建

一、双Master RocketMq集群的搭建 1、服务器环境: 序号IP用户名角色模式1192.168.211.128rootnameServer1,brokerServer1Master12192.168.211.129rootnameServer2,brokerServer2Master12、添加hosts信息 vim /etc/hosts IPNAME 192.168.211.128rocketmq-nameserver1…

linux下的gpio转串口驱动,X-026-KERNEL-Linux gpio driver的移植之gpio range

X-026-KERNEL-Linux gpio driver的移植之gpio range作者:wowo 发布于:2017-9-27 22:27分类:X Project1. 前言我们在[1][2]中提到过,鉴于gpio的特殊性,pinctrl subsystem特意留了一个后门(gpio range),gpio …

长文综述:从大数据中寻找复杂系统的核心变量

文章来源:【集智俱乐部】原文链接:https://mp.weixin.qq.com/s/IIliI5plz2UBUMAzVpxClw导语尽管大数据的收集越来越容易,但随着从微观到宏观的尺度(scale)变化,系统行为会发生非线性的变化,这让…

android设置主题背景为壁纸_ppt模板防早恋安全教育主题班会课件ppt,两个青春期的孩子画面为背景...

ppt模板--防早恋安全教育主题班会课件ppt这是一套防早恋安全教育主题班会课件ppt,共26页。PPT封面以简约的白色背景,五彩斑斓的地面象征孩子们丰富多彩的学生生活,两个青春期的孩子画面为背景,蓝色正体字突出主题:防早…

Linux下启动程序常见问题,linux系统启动流程及常见故障解决方式

Linux系统中启动的流程:1.加载bios的硬件信息以及进行自我检测 并根据设置取得第一个启动的设备2.若以硬盘方式引导 读取并执行引导扇区 MBR3.加载grub(引导程序)启动菜单(/\)4.加载内核(以只读方式进行挂载)5.挂载根目录系统 启动init进程(所有进程的鼻祖)6.读取/etc/initt…

javascript如何处理很多数据,类似分页切换

需求:一个用户列表数据,如果对应列表数据大于10个,就每10个保存到二维数组,后面不足10个的依然放在二维数组尾部 用处:模拟分页,或者局部刷新 在线DEMO:戳这里 var obj[{"list":[{a:1…

vscode红色波浪不见了_vscode c++ 编译可以通过 但是有红色波浪线的问题

作者:送外卖转行计算机来源:SegmentFault 思否1.command p, 然后输入 >C/C选择 编辑配置(JSON)然后在工作区会出现一个.vscode文件夹, 其中会有一个.json文件的配置2.打开命令行 输入gcc -v -E -x c -会有以下的信息 ignoring nonexistent director…

云计算军事运用有啥特点

来源:军语研究院云计算技术被视为继大型计算机、个人计算机、互联网之后的第四次信息技术产业革命。云计算是一种围绕分布式共享计算资源的创新应用模式,资源提供者可以方便而快速地提供计算资源,而无处不在的资源需求者可以便利地使用共享的…

基于STM32的DS1302实时时钟模块应用

DS1302是一款低功耗的实时时钟芯片,被广泛应用于各种电子产品中。它具有准确计时、多种时间格式表示、定时报警等功能,适用于记录时间、日期和闹钟。在本文中,我们将介绍如何在基于STM32的开发环境中使用DS1302实时时钟模块,并给出…

内存屏障linux,Linux内存屏障

简介现代处理器在执行指令时,使用多种技术,提高指令的执行效率,例如多级cache,流水线,多发射,乱序执行等。这些技术的引入,导致对主存的访问顺序并不一定是编码时的顺序,也就是说&am…

在Windows 7上安装Team Foundation Server(TFS)的代理服务器(Agent)

自2009年微软发布Windows 7以来,经过8年的市场验证,Windows 7已经成为史上应用最为广泛的操作系统。但是面对技术变化的日新月异,2015年微软正式停止了对Windows 7的主流支持,并将于2020年正式结束对Windows 7的所有技术支持。这一…

python中的魔法方法__new___python魔法方法,详解__new__()和__init__()

魔法方法__new__()和__init__()真是困扰了我好久。其实就是对__new__()一直不是很理解。今天做一个小小的总结吧,在这个知识点上真是花了太久的时间了。首先回顾一下类与对象python中一切皆为对象,python类本身也是一种对象,我们可以称其为类…

王喜文:图解新基建,细说新机遇(100图)

来源:智造智库去年8月22日,华为创始人任正非签发总裁办邮件,大力推荐技术大神王喜文博士的5G科普PPT《认识5G,发展5G》,并报送董事会成员、监事会成员,主送全体员工,要求华为全员学习。任正非的…

基于OpenGL编写一个简易的2D渲染框架-07 鼠标事件和键盘事件

这次为程序添加鼠标事件和键盘事件 当检测到鼠标事件和键盘事件的信息时,捕获其信息并将信息传送到需要信息的对象处理。为此,需要一个可以分派信息的对象,这个对象能够正确的把信息交到正确的对象。 实现思路: 要实现以上的功能&…

重新定义Wi-Fi功能,Wi-Fi 6为什么要分两步?

来源:传感器技术Wi-Fi 6重新定义Wi-Fi,先是双频并发,然后才是6GHz下的160MHz。Wi-Fi是什么?它是一个基于IEEE 802.11标准的无线局域网技术。如今,Wi-Fi已经覆盖了绝大部分的室内场景,你的手机、电脑、智能音…