Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mapper(Hadoop mapreduce)中使用了多少额外内存?_Hadoop_Mapreduce_Cloudera - Fatal编程技术网

mapper(Hadoop mapreduce)中使用了多少额外内存?

mapper(Hadoop mapreduce)中使用了多少额外内存?,hadoop,mapreduce,cloudera,Hadoop,Mapreduce,Cloudera,我编写了一个简单的应用程序,它有一个.csv文件作为输入,以某种方式简单地将每一行转换为xml,然后作为单行输出。所有描述都是在mapper中完成的。我没有减速器:job.setNumReduceTasks(0) 我在本地运行一切,我只是在学习Hadoop。 我想探索内存消耗。因此,我没有为堆设置任何限制:非常大的Xmx。我试图处理一个巨大的文件:2.5G 我使用Java任务控制探查器。 结果真的很有趣(至少对我来说)。堆从未超过3.3G。但垃圾收集之前的最大值始终保持在3.3G左右。在GC之后

我编写了一个简单的应用程序,它有一个.csv文件作为输入,以某种方式简单地将每一行转换为xml,然后作为单行输出。所有描述都是在mapper中完成的。我没有减速器:job.setNumReduceTasks(0)

我在本地运行一切,我只是在学习Hadoop。 我想探索内存消耗。因此,我没有为堆设置任何限制:非常大的Xmx。我试图处理一个巨大的文件:2.5G

我使用Java任务控制探查器。 结果真的很有趣(至少对我来说)。堆从未超过3.3G。但垃圾收集之前的最大值始终保持在3.3G左右。在GC之后,它下降到零


我的问题可能有点傻,但3.3-2.5=0.8G的开销是用来做什么的?不幸的是,JMC中的信息对它没有帮助。它显示了明显的热门类:String和char。如果您能给我指出使用了大部分内存的hadoop类,那就太好了。

JMC中可能有更多信息,请查看新TLAB子选项卡(或外部TLAB)子选项卡中分配的内存/分配选项卡。这是分配的堆栈跟踪。(还要注意,这些子选项卡依次分为三个子选项卡,例如Allocation Profile,这可能是您想要的)实际分配的类可能是String和char,因此您只需找到它们的分配位置…@Klara,非常感谢!我是JMC的新手,还没有找到这个选项。这正是我所需要的