在2P Opteron上Linux中进程的最大可寻址RAM是多少

前端之家收集整理的这篇文章主要介绍了在2P Opteron上Linux中进程的最大可寻址RAM是多少前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在做一些生物信息学工作,其中限制是内存量(即,该过程不可并行化).我看到像戴尔R715这样的服务器有两个用于Opteron 6100 cpu的插槽和128GB的RAM,可能配备16 x 8GB DIMM.

每个cpu都有一组与之关联的DIMM.

我的问题是,如果我将Linux放在这样的机器上,每个cpu只能寻址一半的RAM吗?换句话说,如果我在Linux下运行单线程程序,该进程是否可以访问128GB的RAM或只有64GB的RAM?

解决方法

严格地说,单线程进程可以访问服务器可用的所有内存.你不必担心.

该进程可以访问RAM中的所有内存,但访问其中一半(理论上)将比访问另一半更慢.我知道VMWare-ESX知道内存局部性,因为它试图将特定VM的所有内存保留在与流程执行相同的内存节点上,以保持良好的性能.

该技术称为非统一内存访问(NUMA).有可能你的Linux机器已经有了它的位(numastat应该返回数据). numactl程序为您的进程分配内存策略,如果您编写自己的代码并希望优化内存速度,这可能非常有用. cpu本地内存将比另一个cpu的内存节点中的内存获取更快,这可能对您有用,具体取决于您正在使用它做什么.

猜你在找的Linux相关文章