-
1.
使用
vtune
分析
tasktracker,jobtracker,datanode
1.1在
conf/hadoop-env.sh
中添加如下修改,这样在
vtune
的结果中能看到
jit
信息。
export AMPLXE_EXPERIMENTAL=1
1.2在
bin/hadoop
中,将如下语句进行替换。
exec "$JAVA" $JAVA_HEAP_MAX $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"
替换如下,以分析
tasktracker
为例,分析其他进程,作相应的修改即可。
if [ "$COMMAND" = "tasktracker" ] ; then
exec "/home/chengtao/soft/intel/vtune_amplifier_xe_2011/bin64/amplxe-cl" -collect hotspots -r /home/chengtao/test_tasktracker "$JAVA" $JAVA_HEAP_MAX $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"
else
exec "$JAVA" $JAVA_HEAP_MAX $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"
fi
这样修改的作用在于,让
vtune
启动相应的线程,能够收集数据。
1.3在
bin/hadoop-daemon.sh
中,将下面语句进行替换
echo $! > $pid
替换内容如下
if [ "$command" = "tasktracker" ];then
sleep 3
ps aux | grep -v "vtune" | grep "TaskTracker" | awk '{if(NR==1)print $2}' > $pid
else
echo $! > $pid
fi
这样修改的作用在于,将实际起来的
tasktracker id
写到
$pid
中,否则写入的是
vtune
的进程的
id
,在运行
bin/stop-all.sh
的时候,
tasktracker
的进程是
stop
不掉的。
Sleep 3
是为了等
tasktracker
确实已经起来了。
-
2.
使用
vtune
分析任务线程TaskRunner
这里需要修改
hadoop
的代码,使得
taskrunner
启动的时候,是试用
vtune
起来的。代码的具体修改是在
mapred/org/apache/hadoop/mapred/TaskRunner.java
这个文件中。在vargs.add(jvm.toString());
之前添加。
vargs.add("/home/hadoop/vtune/vtune_amplifier_xe_2011/bin64/amplxe-cl");
vargs.add("-collect");
vargs.add("hotspots");
vargs.add("-r");
vargs.add("/home/hadoop/" + taskid.toString());
这样就可以分析实际跑任务的线程了。会在
/home/hadoop
目录下出现较多的
taskid
目录,每个目录下对应着
taskid
这个线程的分析结果
通过上面的修改,可以使用
vtune
对
hadoop
进行不同层面的分析,对
hadop
的优化或许提供很好的思路。
分享到:
相关推荐
能把你找出程序速度的瓶颈,对优化你的代码是相当的不错
VTune分析工具使用说明,内容相对比较丰富,希望有所帮助
Intel的一款性能分析软件。帮助你找出性能方面问题 内容,包括Introduction,Terminology Sampling Call Graph Counter Monitor VTune on Linux
自己写的vtune使用总结,介绍基本使用方法,大家多提建议
常熟理工使用VTune进行代码优化和性能调节题库
英特尔® VTune™ 性能分析器基于Intel cpu的程序性能分析工具,通过图形用户界面简化应用调试流程,无需重新编译。用于分析 C、C++、Fortran、C#、Java、.NET 等多种语言开发程序.
Intel VTune性能分析工具使用说明,共三个文档,希望有所帮助
可以用来分析C++ JAVA等,使用VTune Amplifier XE 可以定位或者决定如下内容: 1)、 在你的程序中或者整个系统中时间消耗最多的函数; 2)、 没有有效利用处理器时间的代码片段; 3)、 优化串行和线程化性能的最好...
Intel vtune profiler 使用指导
Bottlenecks in algorithms Bottlencks due to data layout Application architecture bottlenecks System-Level and hardware bottlenecks
文章根据本人使用Intel VTune Amplifier进行软件性能分析的实践写成的。简单明了,可以给刚接触这款软件的人对此软件的大概了解。
英特尔助力Linux平台运转Vtune性能分析器.pdf
vtune的一些使用,包含了源代码,希望能对你们有所帮助
VTune™ 性能分析器可通过图形用户界面轻松优化应用性能,而且无需重新编译。它独立于编译器和语言,因此可与 C、C++、Fortran、C#、Java、.NET 等等†一起使用。与只提供调用图分析或一组有限的采样事件的产品不同...
VTune™ 性能分析器可通过图形用户界面轻松优化应用性能,而且无需重新编译。它独立于编译器和语言,因此可与 C、C++、Fortran、C#、Java、.NET 等等†一起使用。与只提供调用图分析或一组有限的采样事件的产品不同...
常熟理工使用VTune进行代码优化和性能调节题库
包括影响性能的因素、使用VTune的具体步骤、VTune支持的常用采样类型、Hotspots、Memory Consumption、Microarchitecture Exploration、Memory Access等内容。内容详尽丰富,值得学习。
英特尔软件开发工具介绍——Intel^R VTune可视化性能分析器
vtune使用说明,用于查找程序的热点。
intel vtune使用视频(绝对强大的工具,程序员需要掌握)VTune 分析器独立于编程语言和编译器。它支持所有符合行业标准的编译器,包括 Microsoft、GNU 和英特尔的 C、C++ 和 Fortran 编译器。它还支持最常用的托管...