内存碎片是否影响了你的程序?
发布时间
阅读量:
阅读量
现象描述: 最近,公司HPC平台的用户多次反馈任务执行过程中出现异常,表现为任务无法正常运行或运行一段时间后自动停止且无输出,同时在读取或写入数据时,某些数据块的处理时间较正常情况高出数百甚至上千倍。
为解决该问题,对整个集群进行了多轮排查,但未发现任何明显异常,日志中也未记录到显著的错误信息。通过监控系统观察出现问题节点的CPU、内存、网络及存储等资源使用状况,各项指标均显示负载较低。因此推测问题并非由存储或硬件资源瓶颈引起。随后尝试对服务器进行重启,并重新提交任务后,系统运行恢复正常。然而不久之后问题再次出现,至今仍未找到根本性的解决方案,显然不能依靠周期性重启服务器来应对。
经过多次测试与排查,通过top命令监测进程状态发现,在每次任务中断时都会出现khugepage进程,并占用一个CPU核心资源。接下来我们来了解什么是Hugepage。
Hugepage ,即大内存页
查阅相关资料得知大内存页的优势如下:
大内存页能够通过减少缺页次数从而提升性能(每次缺页分配较大的内存块),同时还能降低虚拟地址到物理地址转换的成本(减少转换次数),甚至在某些情况下可以避免地址转换的发生。当处理器需要将虚拟地址转换为物理地址时,通常需要经过多达四层的页表查找。处理器会将这些转换结果缓存在“翻译后备缓冲器(TLB)”中。然而TLB的容量有限,一般仅能缓存128条
全部评论 (0)
还没有任何评论哟~
