1

这是hadoop作业中的reducer程序。“top”命令告诉我RES大约是4.0G mem,DATA是4.5G。并且系统开始使用SWAP。我使用 -Xmx4g 选项运行减速器。

同时,我使用jmap查看对象的直方图

 jmap -histo pid

它告诉我堆中的所有东西总和为 1.3G 内存。我重复了几次,结果是一样的。为什么top和jmap差别这么大,剩余内存在哪里?

我使用 sun java 7 并且在我的程序中有很多 int[] (用 new 分配)。

谢谢。

4

0 回答 0