hadoop使用交换内存的问题

查看数: 30862 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2016-6-23 11:16

正文摘要:

如上图,hadoop官方是不建议用交换内存。但是我却发生了很多交换内存告警,我又做了些排查,但应该都不是。第一、服务器内存足够用。第二,我给各组件分配的堆也够大,像hbase分了20G的堆内存。那为何还频繁 ...

回复

langke93 发表于 2016-6-23 13:22:19
本帖最后由 langke93 于 2016-6-23 13:31 编辑

楼主首先调整Linux参数,可以设置为零。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

交换参数控制内核从物理内存移出进程,移到交换空间。该参数从0到100,当该参数=0,表示只要有可能就尽力避免交换进程移出物理内存;该参数=100,这告诉内核疯狂的将数据移出物理内存移到swap缓存中。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

设置完毕之后,最好重启生效下。
最后在调优下hadoop,注意hadoop jvm和memory的内存配置。

xw2016 发表于 2016-6-28 12:49:31
学习一下
einhep 发表于 2016-6-23 20:12:43
lanyangkj 发表于 2016-6-23 14:31
很感谢你的回答,非常专业!不过还有奇怪的现象,当我把所有的入库程序关掉后,网络IO、请求都降至为0, ...

可以相关工具查看有哪些进程暂用内存,可能缓存或则作业还在运行等原因
lanyangkj 发表于 2016-6-23 14:31:59
langke93 发表于 2016-6-23 13:22
楼主首先调整Linux参数,可以设置为零。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

很感谢你的回答,非常专业!不过还有奇怪的现象,当我把所有的入库程序关掉后,网络IO、请求都降至为0,为什么hbase的java等待线程依然还那么大147个,hbase堆栈也一直没释放8G左右。

关闭

推荐上一条 /2 下一条