性能-Windows内存中断-页面错误(page fault)

5 篇文章 0 订阅

最近准备项目上线,做了大量的压测工作,发现了在有些机器上会出现大量的页面错误,这些错误会导致内存中断。

然而实际的测试数据来看,分两种情况,有大量中断不影响性能和有大量中断影响性能。

经过调查发现:大部分的文章中只提及的page fault会导致系统从硬盘中获取内存,导致效率下降。

而实际上内存中断分为软中断和硬中断。

软中断:内存实际还在物理内存中,但是已经移出working set。只需从standby list中重新获取该内存页。速度较快,基本不影响性能

硬中断:内存不在物理内存中,需要从硬盘的page file中读取对应的内存页,这个是需要硬盘I/O,对性能影响较大。

 

我们可以通过任务管理和资源监视器中查看对应的信息。

任务管理器

资源监视器

通过这两个工具观察,因为页面错误不断增加,而硬中断一直是0,新增的页面错误触发的都是软中断。

 

参考文章:

https://blogs.msdn.microsoft.com/ntdebugging/2007/10/10/the-memory-shell-game/

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
"HASPUserStep" 是由微软终止的一个代码,该代码是与系统中的错误 "PAGE_FAULT_IN_NONPAGED_AREA" 相关的一部分。 Page fault页面错误)是计算机内存管理中的一个概念,当程序试图访问一个不在物理内存中的页面时会发生页面错误。一般情况下,操作系统会将这个页面从硬盘加载到内存中,然后继续执行程序。然而,在某些情况下,操作系统可能无法找到所需的页面,或者发生一些其他错误,导致无法正确加载页面,从而引发页面错误PAGE_FAULT_IN_NONPAGED_AREA 是指当发生页面错误时,操作系统尝试从系统的非分页内存区域(非分页内存)中加载页面,但由于某种原因无法成功。 "HASPUserStep" 是一个微软终止的代码,它可能是用来处理 PAGE_FAULT_IN_NONPAGED_AREA 错误的一部分。该代码中可能包含了一些跟踪日志、错误处理或其他修复操作的步骤。 为了解决 PAGE_FAULT_IN_NONPAGED_AREA 错误,可以尝试以下步骤: 1. 检查硬件问题:页面错误可能是由于硬件故障引起的。可以尝试重新插拔内存条、更换硬盘连接线等操作来解决问题。 2. 更新驱动程序:有时,过时的或不兼容的驱动程序可能导致页面错误。更新或重新安装相关的驱动程序可能有助于解决问题。 3. 扫描病毒:恶意软件可能会干扰系统的正常操作,导致页面错误。运行杀毒软件,检查并清除任何潜在的病毒或恶意软件。 4. 运行系统文件检查:使用系统自带的工具(如Windows的sfc /scannow命令)扫描和修复系统文件中的任何错误或损坏。 如果上述方法无法解决问题,建议联系技术支持或专业人员以获取进一步的帮助和指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不二星空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值