一次不经意发现Hadoop的系统态CPU使用率很高,然后百度一下居然是个已知问题。RHEL6优化了内存申请的效率,而且在某些场景下对KVM的性能有明显提升。

一次不经意发现Hadoop的体系态CPU运用率很高,然后百度一下居然是个已知问题。

RHEL6优化了内存请求的功率,并且在某些场景下对KVM的功用有显着提高:http://www.linux-kvm.org/wiki/images/9/9e/2010-forum-thp.pdf。

而Hadoop是个高密集型内存运算体系,这个改动好像给它带来了副作用。理论上运算型Java程序应该更多的运用用户态CPU才对,Cloudera官方也引荐封闭THP。所以参阅一些文章作了调整:

  1. #forhadoop,disablethp
  2. echonever>/sys/kernel/mm/redhat_transparent_hugepage/enabled
  3. echonever>/sys/kernel/mm/redhat_transparent_hugepage/defrag

作用十分显着:

关于CentOS 6下Hadoop占用体系态CPU高的处理方法(centos7配置hadoop集群)  CentOS 6 Hadoop 第1张

作用很显着,大约12:05分的时分操作的,体系态占用根本消失了。文件Cache运用上升、机器负载下降。

除了手动修正运行时参数之外,还能够修正 /etc/grub.conf 里内核的发动参数,追加“transparent_hugepage=never”(此选项只对 /sys/kernel/mm/redhat_transparent_hugepage/enabled 有用)。

本来transparent_hugepage 功用是在内核2.6.38之后才引进的,红帽在RHEL6就将此功用兼并进来、具体还有待进一步了解。

via :http://hi.baidu.com/higkoo/item/eb5e69c17c6b300a0ad93a00

转载请说明出处
知优网 » 关于CentOS 6下Hadoop占用体系态CPU高的处理方法(centos7配置hadoop集群)

发表评论

您需要后才能发表评论