关于 CentOS 6 下 Hadoop 占用系统态 CPU 高的处理办法

发布于 2025-01-02 19:48:28 字数 1740 浏览 3 评论 0

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

RHEL6 优化了内存申请的效率,而且在某些场景下对 KVM 的性能有 明显提升 :http://www.linux-kvm.org/wiki/images/9/9e/2010-forum-thp.pdf。

而 Hadoop 是个高密集型内存运算系统,这个改动似乎给它带来了副作用。理论上运算型 Java 程序应该更多的使用用户态 CPU 才对,Cloudera 官方也推荐 关闭 THP 。于是参考 一些文章 作了调整:

# for hadoop , disable thp
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

作用非常明显:

效果很明显,大概 12:05 分的时候操作的,系统态占用基本消失了。文件 Cache 使用上升 、机器负载下降。

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

简单爱

暂无简介

文章
评论
26 人气
更多

推荐作者

迎风吟唱

文章 0 评论 0

qq_hXErI

文章 0 评论 0

茶底世界

文章 0 评论 0

捎一片雪花

文章 0 评论 0

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文