在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的内存节点中的内存获取更快,这可能对您有用,具体取决于您正在使用它做什么.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...