具有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系统中找到的)如何影响内存分配和交换.我不知道这是不是你遇到了什么,但它听起来非常相似,可能值得一读.

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

相关文章

linux常用进程通信方式包括管道(pipe)、有名管道(FIFO)、...
Linux性能观测工具按类别可分为系统级别和进程级别,系统级别...
本文详细介绍了curl命令基础和高级用法,包括跳过https的证书...
本文包含作者工作中常用到的一些命令,用于诊断网络、磁盘占满...
linux的平均负载表示运行态和就绪态及不可中断状态(正在io)的...
CPU上下文频繁切换会导致系统性能下降,切换分为进程切换、线...