`
wangchangjun
  • 浏览: 26401 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java命令

阅读更多

 

1.         jmap 命令

jmap 命令可以获得运行中的 jvm 的堆的快照,从而可以离线分析堆,以检查内存泄漏,检查一些严重影响性能的大对象的创建,检查系统中什么对象最多,各种对象所占内存的大小等等。

1.1.     jmap -dump:[live,]format=b,file=<filename> pid

live 参数可选,指明是活着的对象

format 文件格式

file 指定堆文件名

1.2.     -finalizerinfo 

打印等待回收对象的信息

1.3.     -heap  打印堆总结

1.4.     -histo[:live]  打印堆的对象统计,包括对象数、内存大小等等

# instance 是对象的实例个数

#bytes 是总占用的字节数

class name 对应的就是 Class 文件里的 class 的标识

B 代表 byte
C
代表 char
D
代表 double
F
代表 float
I
代表 int
J
代表 long
Z
代表 boolean
前边有“ [ ”代表数组,“ [I 就相当于“ int[]
对象用“ [L+ ”类名表示

1.5.     -permstat  打印 java perm 区的 classloader 统计

1.6.     -F  强制,在 jmap -dump jmap -histo 中使用,如果 pid 没有相应的回复

1.7.     -J  提供 jvm 选项,如: -J-Xms256m

2.         jhat 命令

查看 java 堆文件,先用 jmap 导出堆文件

3.         jstack

观察 jvm 中当前所有线程的运行情况和线程当前状态

查看 cpu 负载过高的方法:首先输入 top 命令,然后输入 shift+h ,观察占用 cpu 高的线程,记录下此 pid ,然后转换成 16 进制,用 jstack pid 导出线程堆栈,然后查找 nid 和先前转换的 16 进制相同的线程。

4.         jconsole

配置参数 :

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9004 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.1.36

5.         jinfo

观察运行中的 java 程序的运行环境参数:参数包括 Java System 属性和 JVM 命令行参数

6.         jps

列出所有的 jvm 实例

7.         jstatd

启动 jvm 监控服务。它是一个基于 rmi 的应用,向远程机器提供本机 jvm 应用程序的信息。默认端口 1099

实例: jstatd -J-Djava.security.policy=my.policy

my.policy 文件需要自己建立,内如如下

grant codebase "file:$JAVA_HOME/lib/tools.jar" {

 permission java.security.AllPermission;

};

这是安全策略文件,因为 jdk jvm 做了 jaas 的安全检测,所以我们必须设置一些策略,使得 jstatd 被允许作网络操作

8.         jstat

8.1.     -class

统计 class loader 行为信息

jstat -class 23300 1000 10 (每隔 1 秒监控一次,一共做 10 次)

l  Loaded : Number of classes loaded.

l  Bytes : Number of Kbytes loaded.

l  Unloaded : Number of classes unloaded.

l  Bytes : Number of Kbytes unloaded.

l  Time : Time spent performing class load and unload operations.

8.2.     -compile

统计编译行为信息

8.3.     -gc

统计 jdk gc heap 信息

jstat -gc 23300 2000 20 (每隔 2 秒监控一次,共做 10

l  S0C Current survivor (存活的) space 0 capacity (KB).

l  EC Current eden space capacity (KB).

l  EU Eden space utilization (KB).

l  OC Current old space capacity (KB).

l  OU Old space utilization (KB).

l  PC Current permanent space capacity (KB).

l  PU Permanent space utilization (KB).

l  YGC Number of young generation GC Events.

l  YGCT Young generation garbage collection time.

l  FGC Number of full GC events.

l  FGCT Full garbage collection time.

l  GCT Total garbage collection time.

8.4.     -gccapacity

统计不同的 generations (不知道怎么翻译好,包括新生区,老年区, permanent 区)相应的 heap 容量情况

8.5.     -gccause

统计 gc 的情况,(同 -gcutil )和引起 gc 的事件

jstat -gccause 23300

l  S0 Survivor space 0 utilization as a percentage of the space's current capacity.

l  S1 Survivor space 1 utilization as a percentage of the space's current capacity.

l  E Eden space utilization as a percentage of the space's current capacity.

l  O Old space utilization as a percentage of the space's current capacity.

l  P Permanent space utilization as a percentage of the space's current capacity.

l  YGC Number of young generation GC events.

l  YGCT Young generation garbage collection time.

l  FGC Number of full GC events.

l  FGCT Full garbage collection time.

l  GCT Total garbage collection time.

l  LGCC Cause of last Garbage Collection.

l  GCC Cause of current Garbage Collection.

8.6.     -gcnew

统计 gc 时,新生代的情况

8.7.     -gcnewcapacity

统计 gc 时,新生代 heap 容量

8.8.     -gcold

统计 gc 时,老年区的情况

8.9.     -gcoldcapacity

统计 gc 时,老年区 heap 容量

8.10.          -gcpermcapacity

统计 gc 时, permanent heap 容量

8.11.          -gcutil

统计 gc 时, heap 情况

8.12.          -printcompilation

不知道干什么的,一直没用过。

分享到:
评论

相关推荐

    wsdl2java命令使用

    **WSDL2Java命令使用详解** 在Web服务开发中,WSDL(Web Service Description Language)是一种XML格式,用于定义服务接口、操作、消息结构等。它使得服务提供者和服务消费者可以进行互操作。Apache Axis是Java平台...

    JAVA命令大全.pdf

    本文将从给定文件的标题和部分内容中提取出与Java命令相关的知识点。 首先,Java的可执行文件通常位于Java开发工具包(JDK)的bin目录中。这个目录下包含了多个重要的命令行工具,其中一些我们可以在给定文件的部分...

    关于执行java命令引入外部jar包方法

    ### 二、执行Java命令引入外部JAR包的方法 #### 方法1:修改系统环境变量 最常见的方式是通过修改系统环境变量`CLASSPATH`来添加外部JAR包。`CLASSPATH`环境变量告诉JVM在哪里可以找到用户自定义的类和资源。例如...

    JAVA命令大全[参考].pdf

    Java命令大全涵盖了几个重要的工具,它们是Java开发者日常工作中不可或缺的部分。这些工具包括`java.exe`、`javac.exe`、`javaw.exe`、`javah`和`javap`,它们各自承担着不同的任务。 1. `java.exe`: 这是运行Java...

    java命令大全.doc

    java命令大全.doc

    java命令参数大全(pdf版)

    Java命令参数大全是Java开发者日常工作中不可或缺的一部分,它包含了运行Java程序时所需要的各种选项和配置。这份PDF文档详细列举并解释了Java命令行接口(JVM)的各种参数,旨在帮助开发者更好地理解和使用Java...

    Java命令解释大全

    Java命令是Java开发和运行过程中不可或缺的工具,它们提供了对JVM(Java虚拟机)的控制,以及对Java程序的编译、打包、文档生成、反编译等操作。以下是对Java常用命令的详细解释: 1. **javac.exe**:Java编译器,...

    JAVA命令大全(bin目录下命令描述)

    【JAVA命令大全——深入理解JDK bin目录下的关键命令】 在Java开发中,JDK的bin目录下包含了许多用于编译、运行、调试和分析Java程序的命令工具。以下是几个最重要的命令及其详细解释: 1. **java.exe**: 这是...

    Java零基础 - 使用java命令运行Java程序.md

    ### Java零基础 - 使用java命令运行Java程序 #### 编写示例源码 为了能够更好地理解如何使用`java`命令来运行Java程序,我们首先需要编写一段Java源代码。这里我们将创建一个非常简单的程序——“Hello, World!”...

    java 命令模式实例 (设计模式)

    在Java中,命令模式的应用非常广泛,尤其在需要解耦调用者和接收者时。 命令模式的核心组成部分包括:**命令接口**、**具体命令类**、**接收者**和**调用者**。 1. **命令接口**:定义了一个接收者需执行的操作,...

    JAVA命令大全-JVM设置.rar

    这份“JAVA命令大全-JVM设置.rar”压缩包文件包含了关于Java命令行选项以及JVM配置的相关知识。 首先,`JAVA命令大全.doc`可能包含以下内容: 1. **Java启动命令**:`java`和`javac`是最基础的命令,分别用于执行...

    java常见命令指南

    Java命令主要包括编译、运行、调试、性能监控等多个方面,其中`javac`用于编译源代码,`java`用于执行已编译的字节码,而`jps`、`jstat`等工具则用于系统监控和故障排查。本文主要关注`java`命令的高级用法,特别是...

    wsdl2java命令使用所需bin

    标题"wsdl2java命令使用所需bin"暗示了这是一个关于如何使用`wsdl2java`工具的教程,该工具通常用于从WSDL(Web服务描述语言)文件生成Java客户端和服务端代码。这个过程被称为WSDL到Java的绑定,是SOA(面向服务...

    让EditPlus支持javac,java命令.rar

    《在EditPlus中配置javac和java命令》 在IT行业中,编辑器是开发者的重要工具,而EditPlus作为一款功能强大的文本编辑器,因其简洁的界面、高效的代码编写功能以及丰富的自定义设置,深受广大程序员的喜爱。然而,...

    浅谈为什么java命令运行class文件出现异常共7页.p

    Java命令是Java开发中最基础的执行工具,它用于启动Java应用程序。当尝试使用`java`命令运行一个`.class`文件时,可能会遇到各种异常。这些异常可能是由于多种原因引起的,包括但不限于以下几点: 1. **类路径问题*...

    让EditPlus支持javac,java命令.pdf

    《让EditPlus支持javac,java命令》 对于初学者而言,使用编辑器直接运行Java程序无疑极大地简化了开发流程,免去了在命令行反复切换的繁琐步骤。EditPlus作为一款功能强大的文本编辑器,通过配置可以实现对Java编译...

Global site tag (gtag.js) - Google Analytics