wfy1008 2015-08-21 23:30 采纳率: 100%
浏览 2704
已采纳

NUMA内存使用问题,求解

配置是:超微X9DRL-IF,2颗Intel XEON处理器,128GB内存,运行Windows Server 2008 R2。
通过VirtualAllocExNuma()函数申区请与DMA缓冲区(这个是驱动里面申请的连续物理地址内存)同一节点的内存,测试发现,有时候拷贝时间会变为15ms左右(不适用NUMA相关函数申请时是50ms),但有时候仍会在50多ms,最坏时仍达几秒以上。
昨天的测试表明在刚启动电脑的时候,效率是够用的,但是用上一段时间后,效率就不行了,我想可能是内存碎片的问题,可是我的内存这么大,怎么还要去使用碎片的内存呢,我的程序只使用8G左右。具体程序是这样的过程:
两个PCIE采集卡,每个采集速度5Gbps,每个申请了128MBytes连续物理地址内存,用作DMA内存,然后,每个卡申请4GBytes内存左右存盘缓冲区,现在问题就出在当从DMA内存中拷贝64MB数据到4GB缓存内时,刚启动时候这个拷贝仅需要不到50ms,但是使用上一会儿就有可能出现2到3秒钟拷贝时间,而且,每次关闭程序我的DMA内存是释放了的(这个在DMA时是要锁定的,不释放就永远丢失了)4GB缓存也是释放了的。

  • 写回答

1条回答 默认 最新

报告相同问题?

问题事件

  • 已采纳回答 5月12日

悬赏问题

  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率