`
小滔哥
  • 浏览: 58667 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

使用vtune分析hadoop

 
阅读更多
  • 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 这个线程的分析结果

 

  • 3.      总结

通过上面的修改,可以使用 vtune hadoop 进行不同层面的分析,对 hadop 的优化或许提供很好的思路。

 

分享到:
评论

相关推荐

    VTune分析工具使用介绍

    【VTune分析工具使用介绍】 VTune™ Performance Analyzer是一款由Intel公司推出的强大的性能分析工具,专为优化软件性能而设计。它能深入分析程序的性能瓶颈,帮助开发者找到算法、数据布局、应用架构以及系统层面...

    VTune分析工具介绍

    **VTune 分析工具详解** VTune Amplifier,通常简称为VTune,是Intel公司推出的一款强大的性能分析工具。它专为优化高性能计算、数据中心应用和嵌入式系统的性能而设计,广泛应用于软件开发人员、系统管理员以及...

    Vtune使用教程(性能分析软件)

    Intel的一款性能分析软件。帮助你找出性能方面问题 内容,包括Introduction,Terminology Sampling Call Graph Counter Monitor VTune on Linux

    Intel vtune profiler 使用指导

    Intel VTune Profiler 使用指导 Intel VTune Profiler 是一种功能强大的性能优化和调试工具,由 Intel 公司开发,旨在帮助开发者优化和调试基于 Intel 架构的应用程序。以下是 Intel VTune Profiler 的使用指导,...

    intel vtune 性能分析工具使用说明

    ### Intel VTune性能分析工具使用说明 #### 一、引言 Intel VTune是一款由英特尔公司开发的强大性能分析工具,广泛应用于软件优化和性能调试领域。它能够帮助开发者深入理解应用程序的行为,识别性能瓶颈,从而指导...

    VTune性能分析的三篇文章

    最后,"能够使用VTune分析.ppt"可能是一份演示文稿,它可能以更直观的方式展示了VTune的使用过程,可能包括一些实际操作的截图和步骤说明。这类演示可能深入到更具体的分析技术,如并发性分析,用于查找多线程或多...

    Intel VTune Amplifier基本使用说明

    单独运行VTune Amplifier XE 时,只需指定可执行文件并选择分析类型即可开始分析,其结果与在Visual Studio中整合使用时相同。 总之,Intel VTune Amplifier XE 是一款功能强大且实用的性能分析工具,无论是初学者...

    常熟理工使用VTune进行代码优化和性能调节题库

    ### 常熟理工使用VTune进行代码优化和性能调节题库知识点解析 #### 题目背景 常熟理工学院作为一所注重实践教学的高校,在计算机科学领域中,非常重视学生的实际操作能力和问题解决能力的培养。在课程设计与实践...

    vtune的使用的心得

    【VTune的使用心得】 VTune是一款由Intel公司开发的强大性能分析工具,它主要用于帮助开发者深入洞察应用程序的性能瓶颈,优化代码效率。在本文中,我们将深入探讨VTune的使用经验,分享如何有效地利用该工具来提升...

    intel Vtune

    **Intel Vtune:强大的性能分析工具** Intel Vtune 是一款由Intel公司开发的高性能计算和数据中心应用的性能分析工具。它专为优化软件性能而设计,通过深入洞察应用程序的运行情况,帮助开发者识别并解决性能瓶颈,...

    VTune性能分析器

    英特尔® VTune™ 性能分析器基于Intel cpu的程序性能分析工具,通过图形用户界面简化应用调试流程,无需重新编译。用于分析 C、C++、Fortran、C#、Java、.NET 等多种语言开发程序.

    VTune 性能调优工具 优化代码

    7. **代码优化建议**:VTune会根据分析结果提供优化建议,包括代码重构、算法替换、使用更高效的数据结构等。 使用VTune进行性能优化的步骤通常包括: 1. **安装与配置**:首先需要在目标平台上安装VTune,并根据...

    Vtune lisence

    总的来说,Intel Vtune是一款强大的性能分析工具,通过其丰富的分析功能,开发者可以有效地提高软件的运行效率,优化资源使用,从而在硬件成本不变的情况下实现更高的计算性能。而Vtune lisence文件则是使用该工具的...

    VTune教程.ppt

    - **VTune on Linux**:这部分专门针对Linux环境,详细说明了在Linux系统上如何配置和使用VTune进行性能分析。 通过这些技术,开发者可以深入理解程序的运行模式,发现性能问题的根源,从而进行针对性的优化。总的...

    VTune 软件优化工具的用法入门介绍1

    VTune™ 性能分析器是一款强大的工具,用于优化各种编程语言如C、C++、Fortran、C#、Java和.NET应用的性能,而无需重新编译代码。这款工具独立于编译器和语言,使得它具备广泛的适用性。VTune不仅仅提供调用图分析,...

    VTUNE性能分析工具使用方法.rar

    Bottlenecks in algorithms Bottlencks due to data layout Application architecture bottlenecks System-Level and hardware bottlenecks

    英特尔助力Linux平台运转Vtune性能分析器.pdf

    英特尔助力Linux平台运转Vtune性能分析器.pdf

    Vtune 软件优化工具入门介绍3

    Vtune是一款强大的性能分析工具,由Intel公司开发,专为优化各种编程语言如C、C++、Fortran、C#、Java、.NET等应用的性能而设计。它提供了直观的图形用户界面,允许开发者在不修改源代码的情况下进行性能优化。VTune...

    英特尔软件开发工具介绍——Intel^R VTune可视化性能分析器

    ### 英特尔软件开发工具介绍——Intel^R VTune可视化性能分析器 #### 引言 在软件开发领域,优化程序性能是一项永恒的主题。为了提高软件效率,开发者不仅要关注编译过程,更要深入理解程序运行时的行为,尤其是...

    VTune_Amplifier_XE2013.lic

    虽然`.lic`文件明确指出它是为Visual Fortran Composer XE 2013提供的,但它同样适用于VTune Amplifier,意味着用户可以在使用Intel的Fortran编译器开发的程序上运行VTune分析,以获得全面的性能评估和优化指导。...

Global site tag (gtag.js) - Google Analytics