MapReduce中的cpu sys突然升到的抖动问题

最近在测试过程中,发现在做map reduce数据分析的过程中,cpu sys部分会偶然的升到,甚至到达50%,抖动的比较厉害。

节点的磁盘的IO吞吐量比较大,每秒达到150M,大部分是tasktracker读取本地节点DFS的数据,默认情况下,读取数据是系统调用每次从硬盘上读取4K大小的数据到内核空间中,后由内核copy到应用程序空间,是什么导致内核部分消耗大部分的时间。

经过大量的各方面的监控,发现CPU sys突然升到的时机大部分发生在文件系统cache释放内存的时,非常既有规律性,特别是在操作系统的可用内存比较紧张时特别明显,

因此推断是文件系统cache释放部分空间时候需要内核做复杂的收集算法,把一些不常用的页面交换到硬盘上,又因MapReduce的过程是大量的顺序IO,因此对文件系统的cache消耗的特别厉害,cache的空间释放也比较频繁。后把vm的cache drop的情况下,mapreduce运算过程中,cache一直在增加无cache交换方式,CPU sys消耗很小并且稳定,进一步的验证了这个问题。

后续对文件系统cache部分进行优化。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值