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

asp*_*zer 12 linux memory centos

机器:Dell r815、CentOS 5.4、256GB 内存、4 x 12 核。

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

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

这个过程似乎可以正常运行一段时间,最终将大约 50GB 的数据刷新到磁盘。在此之后的某个时间,整个机器开始崩溃。

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

查看 上的内存统计信息top,我看到它使用了大约 120GB 的 RAM(因此 128GB 空闲)并且在“缓存”部分下有 120GB。

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

(正如我们所说,我正在这台机器上运行测试,除了 64GB - 以排除硬件问题)。

我可能缺少一些 vm 参数/etc/sysctrl.conf吗?

谢谢!

lar*_*sks 12

你的问题让我想起了我最近读到的一句话:

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

这解决了 NUMA 架构(就像您可能在 48 核 AMD 系统中发现的那样)如何影响内存分配和交换。我不知道这是否是您遇到的问题,但它听起来非常相似,值得一读。

即使它不是答案,它也会使阅读变得有趣。


asp*_*zer 12

所以这似乎是 64 位 Centos 5.4 和 64 位 Fedora 14 中的内核错误。安装 Centos 5.5 后,问题就消失了。

对不起,我没有更好的答案给每个人......