yunyanrong
驱动小牛
驱动小牛
  • 注册日期2003-04-18
  • 最后登录2013-03-02
  • 粉丝0
  • 关注0
  • 积分1040分
  • 威望457点
  • 贡献值1点
  • 好评度90点
  • 原创分0分
  • 专家分0分
阅读:2997回复:6

双核、双CPU、超线程的服务器上调用MmMapLockedPagesSpecifyCache

楼主#
更多 发布于:2007-12-16 16:31
在一台双核、双CPU、超线程的服务器上,MmMapLockedPagesSpecifyCache会抛出异常,OS为2003 server。
本想映射16MB字节,发生异常后以为是16MB太大,却发现只映射2M字节也会异常;再小就没试了。

在装XP的台式机上,一切都OK。

有过这个经验的请指点一下,多谢。
yunyanrong
驱动小牛
驱动小牛
  • 注册日期2003-04-18
  • 最后登录2013-03-02
  • 粉丝0
  • 关注0
  • 积分1040分
  • 威望457点
  • 贡献值1点
  • 好评度90点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-01-11 08:46
顶!
yunyanrong
驱动小牛
驱动小牛
  • 注册日期2003-04-18
  • 最后登录2013-03-02
  • 粉丝0
  • 关注0
  • 积分1040分
  • 威望457点
  • 贡献值1点
  • 好评度90点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-02-20 22:33
继续探索
yunyanrong
驱动小牛
驱动小牛
  • 注册日期2003-04-18
  • 最后登录2013-03-02
  • 粉丝0
  • 关注0
  • 积分1040分
  • 威望457点
  • 贡献值1点
  • 好评度90点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-02-29 10:39
我的问题找到了

以前测试都是XP上测的,一直OK。
所谓的双核、双CPU不行,其实还是因为装的是win2003。
MmMapLockedPagesSpecifyCache的有个一个参数,MMCache,MMNonCache,要调整好,必须和这片内存申请时的模式一致。
chelalv
驱动牛犊
驱动牛犊
  • 注册日期2008-03-22
  • 最后登录2010-04-15
  • 粉丝1
  • 关注0
  • 积分22分
  • 威望146点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-10-01 21:23
楼主,谢谢你,我也是这个问题
vitiluck
驱动牛犊
驱动牛犊
  • 注册日期2004-07-27
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2008-10-17 17:18
顶!

同时请教 楼主一个问题.
使用第三方驱动,我看了一下代码,内容也是  1) MmAllocateContiguousMemorySpecifyCache 2) MmMapLockedPages 提供给APP使用。

但是我发现: 这类内存写入 CPU利用率 要比 常规内存高。
Allocate时 MmNonCached.

是NonCache属性导致? 还是MmMapLockedPages呢? [MSDN 说后者已经 obsolete 了]
yunyanrong
驱动小牛
驱动小牛
  • 注册日期2003-04-18
  • 最后登录2013-03-02
  • 粉丝0
  • 关注0
  • 积分1040分
  • 威望457点
  • 贡献值1点
  • 好评度90点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2009-01-08 16:51
同命人呀。

我也发现了这个现象。应该是NonCache导致的,因为这些数据不会进入CPU的1、2级缓存,自然它的访问就会变慢。

我现在在试图解决双核、四核台式机、服务器之下的一个同步问题。
以前参数为MMCache,同步有问题,数据有错。
以为改成MMNonCache就可以解决cache与内存的一致性问题,没想到更换之后CPU占用率变高了不少,但同步一样有问题,郁闷。

再次郁闷。
游客

返回顶部