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 后,问题就消失了。
对不起,我没有更好的答案给每个人......