JVM常用调试工具介绍

Python09

JVM常用调试工具介绍,第1张

一、Linux ps (英文全拼:process status)命令用于显示当前进程的状态

ps aux 基本输出

ps aux 列名解释

注:优化机器资源主要从占用机器cpu和mem高的程序入手

二、Linux top命令查看正在运行的进程和系统负载信息,包括cpu负载、内存使用、各个进程所占系统资源等

基本输出

字段解释

三、Linux top -H -p pid。查看某个进程内部线程占用情况

四、jps(Java Virtual Machine Process Status Tool) 是java提供的一个显示当前所有java进程pid的命令

五、jinfo LVMID。可以用来查看 Java 进程运行的 JVM 参数

六、jstat(Java Virtual Machine statistics monitoring tool)主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。可见,Jstat是轻量级的、专门针对JVM的工具,非常适用

七、jstack(Java Stack Trace Tool)主要用于生成java虚拟机当前时刻的线程快照。线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等。 线程出现停顿的时候通过jstack来查看各个线程的调用堆栈,就可以知道没有响应的线程到底在后台做什么事情,或者等待什么资源

八、jmap命令(Java Memory Map)是其中之一。主要用于打印指定Java进程(或核心文件、远程调试服务器)的共享对象内存映射或堆内存细节

九、MAT(Memory Analysis Tools)是一个分析 Java堆数据的专业工具,用它可以定位内存泄漏的原因

此次分享准备过程中,发现JDK调试工具在Root用户下访问Yarn用户启动的Java虚拟机,获取不到信息,jstatck获取到的还不全(没有线程描述信息行)

可以使用 sudo -u yarn /usr/java/jdk1.8.0_181-cloudera/bin/jstack 这种方式获取。

一、EditplusEditPlus是功能很全面的文本、HTML、程序源代码编辑器。

默认的支持HTML、ASP、Perl、C/C++、CSS、PHP、Java、java和VB的语法着色。

通过定制语法文件还可以扩展到其他程序语言。

可以在Tools菜单的ConfigureUserTools菜单项配置用户工具,类似于UltraEdit的配置,配置好Java的编译器Javac和解释器Java后,通过EditPlus的菜单可以直接编译执行Java程序。

二、UltraEdit初学者一般用什么开发工具?UltraEdit是一个功能强大的文本、HTML、程序源代码编辑器。

作为源代码编辑器,它的默认配置可以对C/C++,VB,HTML,Java和Perl进行语法着色。

用它设计Java程序时,可以对Java的关键词进行识别并着色,方便了Java程序设计。

它具有完备的复制、粘贴、剪切、查找、替换、格式控制等编辑功能。

可以在Advanced菜单的ToolConfiguration菜单项配置好Java的编译器Javac和解释器Java,直接编译运行Java程序。

三、Eclipse初学者一般用什么开发工具?Eclipse是一个开放可扩展的集成开发环境(IDE)。

它不仅可以用于Java的开发,通过开发插件,它可以构建其他的开发工具。

Eclipse是开放源代码的项目,并可以免费下载。

建议使用Releases或StableBuilds版本。

四、JcreatorJcreator是一个用于Java程序设计的集成开发环境,具有编辑、调试、运行Java程序的功能。

这个软件比较小巧,对硬件要求不是很高,完全用C++写的,速度快、效率高。

java课程http://www.kmbdqn.cn/认为具有语法着色、代码参数提示、工程向导、代码自动完成、类向导等功能。

先进次启动时提示设置JavaJDK主目录及JDKJavaDoc目录,软件自动设置好类路径、编译器及解释器路径,还可以在帮助菜单中使用JDKHelp。

但目前这个版本对中文支持性不好。