linux – 导致主要页面错误的日志内存访问
发布时间:2020-12-14 02:12:28 所属栏目:Linux 来源:网络整理
导读:有谁知道如何获取导致页面错误的内存访问(指针)?我主要对主要的页面错误感兴趣. 关于我正在努力实现的目标的一些背景知识.我有一个具有大内存占用(数据库)的应用程序,我想将分页与对大型数据结构(例如表,使用mmap()分配的索引)的访问相关联.该过程的映射很
有谁知道如何获取导致页面错误的内存访问(指针)?我主要对主要的页面错误感兴趣.
关于我正在努力实现的目标的一些背景知识.我有一个具有大内存占用(数据库)的应用程序,我想将分页与对大型数据结构(例如表,使用mmap()分配的索引)的访问相关联.该过程的映射很容易从/ proc // maps中检索.现在,如果我有导致页面错误的内存访问,我可以跟踪访问每个数据结构时导致的页面错误数量. 我认为perf或systemtap可以完成这项工作.有任何想法吗? 解决方法
查看探测点可用的内容:
% stap -L vm.pagefault vm.pagefault name:string write_access:long address:long $mm:struct mm_struct* $vma:struct vm_area_struct* $address:long unsigned int $flags:unsigned int 记录,尝试将地址映射到符号名称 # stap -e 'probe vm.pagefault { if (execname()=="foo") { printf("%p (%s)n",address,usymdata(address)) } }' -d /bin/foo --ldd 另见:http://sourceware.org/systemtap/examples/#memory/pfaults.stp (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |