在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中的ARP防火墙主要用于防御ARP欺骗攻击,其效果取决于多...
insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...