windows – 128GB RAM的页面错误

我在AMD opteron服务器(4CPU,每个12核,128GB RAM)上运行CPU和内存繁重的3D重建应用程序(如果相关,则为www.3dsurvey.si).我注意到由于(我认为)页面错误导致CPU未按预期使用.处理时我们每秒会产生100k页面错误,而内存只占50%左右.我们获得的平均处理器利用率约为10%-20%.我还尝试禁用页面文件(未经修改),没有任何改进和相同的页面错误率.软件通常使用普通PC上的所有处理器.

提出适用于他人的问题

>为什么我们仍然有足够的RAM可用的页面错误?
>如何减少页面错误?

页面错误可分为主要和次要错误

当您的程序或其数据被换出到磁盘并且现在需要从磁盘交换时,会发生主要页面错误.这些故障被标记为“主要”,因为与CPU速度相比,从磁盘进行交换/从磁盘进行交换是非常慢的.由于你有足够的可用内存(大约50%),并且完全禁用交换没有带来任何性能,我认为你的问题与主要故障无关.

当CPU尝试访问不在其小型,快速TLB高速缓存中的虚拟内存地址时会发生次要页面错误,并且结果是,它必须查找存储在已知DRAM地址中的更大(和更慢)的映射表.偶尔运行程序和/或访问大量内存时,预计会出现大量的次要页面错误.当与非NUMA感知程序一起使用时,多插槽NUMA拓扑(与Opteron相同)会加剧此问题.

如果您的程序不支持NUMA,则次要页面错误可能是您性能问题的根源.要大致了解是否是这种情况,请尝试在单插槽机器上运行程序(或禁用服务器上除一个插槽外的所有插槽)并检查CPU使用率是否高于预期.

无论如何,只有生产软件的软件公司(或者对您的特定程序非常有经验的人)才能完全回答您的问题.

相关文章

文章浏览阅读2.2k次,点赞6次,收藏20次。在我们平时办公工作...
文章浏览阅读1k次。解决 Windows make command not found 和...
文章浏览阅读3.2k次,点赞2次,收藏6次。2、鼠标依次点击“计...
文章浏览阅读1.3w次。蓝光版属于高清版的一种。BD英文全名是...
文章浏览阅读974次,点赞7次,收藏8次。提供了更强大的功能,...
文章浏览阅读1.4w次,点赞5次,收藏22次。如果使用iterator的...