Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1216009
  • 博文数量: 259
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 2518
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-13 16:12
个人简介

科技改变世界,技术改变人生。

文章分类

全部博文(259)

分类: HADOOP

2015-12-23 11:12:05


Ambari和CM管理平台都提示,建议关闭THP,这是为什么?如果不关闭THP,发现Hadoop的系统态CPU使用率很高,

原因是RHEL6优化了内存申请的效率,而且在某些场景下对KVM的性能有明显提升。

而Hadoop是个高密集型内存运算系统,这个改动似乎给它带来了副作用。理论上运算型Java程序应该更多的使用用户态CPU才对,Cloudera官方也推荐关闭THP。
http://www.cloudera.com/content/www/en-us/documentation/archive/cdh/4-x/4-2-2/CDH4-Installation-Guide/cdh4ig_topic_11_6.html

于是参考一些文章作了调整:

#关闭 THP(Transparent HugePages )
# for hadoop , disable thp
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

作用非常明显:


效果很明显,红色框中是调整后的,系统态占用基本消失了。文件Cache使用上升、机器负载下降。

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

原本 transparent_hugepage 功能是在内核2.6.38之后才引入的,红帽在RHEL6就将此功能合并进来、详细还有待进一步了解。

如果你是hadoop群集管理者,建议关闭THP,在看看服务器的负载是不是降低很多。

重启后会恢复到原来的状态,需要设置:
vi /etc/rc.local
增加
# for hadoop , disable thp
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
这样重启后也就自动修改了。

参考:

阅读(3632) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~