page-fault

    1热度

    1回答

    我开始阅读关于CPU的缓存和我有两个问题: 1)可以说CPU接收到缺页和转让控制权交给内核处理器。处理程序决定驱逐内存中被标记为脏的帧。可以说CPU高速缓存写回的有效位和修改位。现在,这个帧的内存内容是陈旧的,并且缓存包含最新的数据。内核如何强制高速缓存刷新? 2)页表项(PTE)被标记为脏的方式如下:当CPU修改页面内容时,TLB有一个修改位。该位在上下文切换时被复制回PTE。如果我们发生页面错

    1热度

    1回答

    页面可以同时在物理内存和虚拟内存中吗? 如果我要求在虚拟内存上的地址,它是否会触发页面错误?如果第一个问题是真的,那么它应该只在页面不在物理内存中时触发页面错误。是对的吗?

    6热度

    2回答

    我需要尽可能实时地执行进程。 所有的通信是通过共享内存实现 - 内存映射文件 - 没有系统调用在所有 - 它使用共享内存忙等待。 该进程在实时优先级下运行,并且所有内存都被锁定,其中mlockall(MCL_CURRENT|MCL_FUTURE)成功并且进程已经有足够的内存被锁定。 当我在它perf stat -p PID运行它,我仍然得到较小的页面错误的计数。 我与两个过程亲和力和没有测试此。

    0热度

    1回答

    我看到一个问题,netbsd系统内核有看门狗超时,堆栈跟踪显示内核页错误处理程序被软件中断处理ip包打断,跟踪看起来像这样。这NetBSD的4.x的 0xcf910db0:在m_copyback0 + 0x3FC中 0xcf910e00:在m_makewritable + 0x40的 0xcf910e20:在fr_check_wrapper + 0×44 0xcf910e50:在pfil_run_

    0热度

    1回答

    我正试图调试一个应用程序由于无效内存访问而触发连续数据中止的问题。 我有以下疑问。 通常,当Android(CPU ARM)中的应用程序访问无效的内存访问时,会发生什么情况? 我猜会发生缺页,然后数据异常将被触发。是这样吗?有人可以简要解释一下Android如何处理无效的内存访问? 发生非法内存访问的进程会发生什么?它是一次又一次地重新启动还是被杀死了?谁来处理这件事? 我想代码(仅如果可能的话)

    1热度

    1回答

    在阅读页面错误和页面命中是如何由页面错误异常处理程序处理的时候,有一点我不清楚。如果进程正在使用共享页面并发生页面错误,那么当页面错误异常处理程序更新导致页面错误的进程的页表表项中的页表项时,它是否也会更新所有页面中的页表项共享相同页面的其他进程?从我对这个主题的阅读看来,它似乎只更新页表中错误进程的页表项,但其他进程怎么知道该页已被分页呢?提前致谢!

    5热度

    2回答

    有谁知道如何获取导致页面错误的内存访问(指针)?我主要关注主要页面错误。 关于我想要实现的一些背景。我有一个具有大内存占用量(数据库)的应用程序,我想将分页与对大数据结构(如使用mmap()分配的表,索引)的访问相关联。该过程的映射很容易从/ proc //地图中检索。现在,如果我有导致页面错误的内存访问,我可以跟踪访问每个数据结构时导致多少页面错误。 我认为perf或systemtap可以完成这

    8热度

    2回答

    在Linux中,当进程从系统请求某些(虚拟)内存时,它只在vma(进程的虚拟内存描述符)中注册,但每个虚拟的物理页不保留在通话时间。后来,当进程访问这个页面时,它会出错(访问会产生Page Fault中断),并且PF#处理程序将分配物理页面和更新进程页表。 存在两种情况:读取时出现故障,可能会变成链接到写入保护的零页(特殊全局预置零页)并且在写入时出现错误(既在零页又在刚刚需要但尚未物理映射的页面

    1热度

    2回答

    我想调整我的应用程序之一在JAVA上。 我正在使用JAVA-Profiler并从中获得一些报告。 我看到应用程序的页面错误数量从30000到35000不等。 如何判断这个数字是否过高或正常? 我在最初的一分钟以及半小时后也获得了相同的数据。 我的RAM是2 GB,我正在使用单线程应用程序。 线程只尝试从队列中读取消息,每隔3秒,队列为空。 由于没有处理正在完成,我认为页面错误不应该发生。 请在这里

    0热度

    1回答

    所以这不是一个家庭作业问题。这是来自我的教授发布的前期考试中的一个问题,作为资源来帮助我们学习中期课程。然而,对我来说有两个答案看起来像是他们可能是正确的答案。 A.)页面错误意味着要更换必须保存到硬盘的物理页面。 B.)请求的虚拟不在物理内存中。现在 ,这是我的理解是页面错误是当存储在物理内存页的数据是不是你所需要的数据,因此,你需要访问硬盘驱动器并加载正确的数据。此外,如果脏标志为1,则表示物