具有256GB内存/ 48内核的Linux – 机器开始抖动/窒息,剩余大量内存

机器:戴尔r815,CentOS 5.4,256GB内存,4 x 12内核.

我们有一个拥有275GB文件的应用程序.它一次就可以对20GB的数据进行排序,即它可以交换位并在同一个文件中替换它们.一切正常.

最后一个传递然后读取整个文件并对不同的20GB块进行合并排序,并将它们输出到一个全新的文件.

这个过程SEEMS可以运行一段时间,最终会将50GB左右的磁盘冲出来.在此之后的某个时间,整个机器开始吓坏了.

像ps -ef,ls -al这样的简单命令会长时间挂起并显示为占用100%CPU(这只是一个核心).

看看顶部的内存统计数据,我看到它使用了大约120GB的RAM(所以128GB免费),在“缓存”部分下有120GB.

以前有没有人见过这种行为?同样的进程在具有64GB内存的机器上运行良好 – 所以我认为它与我在机器中安装的RAM有关.

(正如我们所说,我在这台机器上运行的测试只有64GB – 以排除硬件问题).

我可能在/etc/sysctrl.conf中遗漏了一些vm参数吗?

谢谢!

解决方法

你的问题让我想起了我最近读过的东西:

http://jcole.us/blog/archives/2010/09/28/mysql-swap-insanity-and-the-numa-architecture/

这解决了NUMA架构(如您可能在48核AMD系统中找到的)如何影响内存分配和交换.我不知道这是不是你遇到了什么,但它听起来非常相似,可能值得一读.

即使它不是它令人着迷的阅读的答案.

相关文章

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