Java命令使用 jmap,jps,jstack,jstat,jhat,jinfo
Jmap:可以获得运行中的jvm的堆的快照,从而可以离线分析堆,以检查内存泄漏,检查一些严重影响性能的大对象的创建,检查系统中什么对象最多,各种对象所占内存的大小等等
Jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。
使用方法 jmap -histo pid。如果使用SHELL ,可采用jmap -histo pid>a.log日志将其保存到文件 中,在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象。jmap -dump:format=b,file=outfile 3024可以 将3024进程的内存heap输出出来到outfile文件里,再配合MAT(内存分析工具)。
Code:
D:\Program Files\Java\jdk1..0_102\bin
$ jmap -heap
Attaching to process ID , please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.102-b14 using thread-local object allocation.
Parallel GC with thread(s) Heap Configuration:
MinHeapFreeRatio =
MaxHeapFreeRatio =
MaxHeapSize = (.0MB)
NewSize = (.0MB)
MaxNewSize = (.0MB)
OldSize = (.0MB)
NewRatio =
SurvivorRatio =
MetaspaceSize = (.796875MB)
CompressedClassSpaceSize = (.0MB)
MaxMetaspaceSize = MB
G1HeapRegionSize = (.0MB) Heap Usage:
PS Young Generation
Eden Space:
capacity = (.0MB)
used = (.036903381347656MB)
free = (.963096618652344MB)
61.40936574628276% used
From Space:
capacity = (.0MB)
used = (.07037353515625MB)
free = (.92962646484375MB)
81.407470703125% used
To Space:
capacity = (.0MB)
used = (.0MB)
free = (.0MB)
0.0% used
PS Old Generation
capacity = (.0MB)
used = (.085968017578125MB)
free = (.91403198242188MB)
19.380684358527862% used interned Strings occupying bytes.
https://www.cnblogs.com/qlqwjy/p/7953491.html
jps:显示当前所有java进程pid的命令,简单实用
D:\Program Files\Java\jdk1..0_102\bin
$ jps
RemoteMavenServer
Jps
Launcher
jstack:
jstack用于生成java虚拟机当前时刻的线程快照。线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等。
线程出现停顿的时候通过jstack来查看各个线程的调用堆栈,就可以知道没有响应的线程到底在后台做什么事情,或者等待什么资源。
如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。
另外,jstack工具还可以附属到正在运行的java程序中,看到当时运行的java程序的java stack和native stack的信息, 如果现在运行的java程序呈现hung的状态,jstack是非常有用的。
So,jstack命令主要用来查看Java线程的调用堆栈的,可以用来分析线程问题(如死锁)。
D:\Program Files\Java\jdk1..0_102\bin
$ jstack
-- ::
Full thread dump Java HotSpot(TM) -Bit Server VM (25.102-b14 mixed mode):
......
具体:
D:\Program Files\Java\jdk1..0_102\bin
$ jstack
-- ::
Full thread dump Java HotSpot(TM) -Bit Server VM (25.102-b14 mixed mode): "RMI RenewClean-[localhost:2913]" # daemon prio= os_prio= tid=0x0000000016d52800 nid=0x1284 in Object.wait() [0x0000000017a7e000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:)
- locked <0x00000000d00fbc40> (a java.lang.ref.ReferenceQueue$Lock)
at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:)
at java.lang.Thread.run(Thread.java:) "RMI Scheduler(0)" # daemon prio= os_prio= tid=0x0000000016d50000 nid=0x27d4 waiting on condition [0x000000001797e000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000d0010a50> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) "GC Daemon" # daemon prio= os_prio=- tid=0x0000000016b8f000 nid=0x421c in Object.wait() [0x000000001757f000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at sun.misc.GC$Daemon.run(GC.java:)
- locked <0x00000000d0009450> (a sun.misc.GC$LatencyLock) "RMI Reaper" # prio= os_prio= tid=0x0000000016b8e000 nid=0x3b18 in Object.wait() [0x000000001747f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:)
- locked <0x00000000d00014d0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:)
at sun.rmi.transport.ObjectTable$Reaper.run(ObjectTable.java:)
at java.lang.Thread.run(Thread.java:) "RMI TCP Accept-0" # daemon prio= os_prio= tid=0x0000000016b8d800 nid=0x4890 runnable [0x000000001737e000]
java.lang.Thread.State: RUNNABLE
at java.net.DualStackPlainSocketImpl.accept0(Native Method)
at java.net.DualStackPlainSocketImpl.socketAccept(DualStackPlainSocketImpl.java:)
at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:)
- locked <0x00000000d000f990> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:)
at java.net.ServerSocket.accept(ServerSocket.java:)
at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:)
at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:)
at java.lang.Thread.run(Thread.java:) "RMI TCP Accept-33846" # daemon prio= os_prio= tid=0x00000000160a0000 nid=0x2ee8 runnable [0x0000000016a7e000]
java.lang.Thread.State: RUNNABLE
at java.net.DualStackPlainSocketImpl.accept0(Native Method)
at java.net.DualStackPlainSocketImpl.socketAccept(DualStackPlainSocketImpl.java:)
at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:)
- locked <0x00000000d0016fd8> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:)
at java.net.ServerSocket.accept(ServerSocket.java:)
at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:)
at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:)
at java.lang.Thread.run(Thread.java:) "Service Thread" # daemon prio= os_prio= tid=0x0000000015ef7800 nid=0x2538 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE "C1 CompilerThread2" # daemon prio= os_prio= tid=0x0000000015eb2000 nid=0x2534 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE "C2 CompilerThread1" # daemon prio= os_prio= tid=0x0000000015e7b000 nid=0x45b0 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE "C2 CompilerThread0" # daemon prio= os_prio= tid=0x0000000015e79000 nid=0x2500 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE "Attach Listener" # daemon prio= os_prio= tid=0x0000000014abd800 nid=0x2530 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE "Signal Dispatcher" # daemon prio= os_prio= tid=0x0000000014a71800 nid=0x24fc runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE "Finalizer" # daemon prio= os_prio= tid=0x0000000002cee800 nid=0xcac in Object.wait() [0x0000000015dbf000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:)
- locked <0x00000000d0009eb0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:) "Reference Handler" # daemon prio= os_prio= tid=0x0000000002ce5000 nid=0x32e0 in Object.wait() [0x0000000015cbe000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:)
at java.lang.ref.Reference.tryHandlePending(Reference.java:)
- locked <0x00000000d0001688> (a java.lang.ref.Reference$Lock)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:) "main" # prio= os_prio= tid=0x0000000002bf4000 nid=0x17ac in Object.wait() [0x000000000289f000] java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at com.intellij.execution.rmi.RemoteServer.start(RemoteServer.java:)
- locked <0x00000000d0009ef0> (a java.lang.Object)
at org.jetbrains.idea.maven.server.RemoteMavenServer.main(RemoteMavenServer.java:) "VM Thread" os_prio= tid=0x0000000014a27000 nid=0xb18 runnable "GC task thread#0 (ParallelGC)" os_prio= tid=0x0000000002c0a000 nid=0x3ca8 runnable "GC task thread#1 (ParallelGC)" os_prio= tid=0x0000000002c0b800 nid=0x35f8 runnable "GC task thread#2 (ParallelGC)" os_prio= tid=0x0000000002c0d800 nid=0x1044 runnable "GC task thread#3 (ParallelGC)" os_prio= tid=0x0000000002c0f000 nid=0x3ff8 runnable "VM Periodic Task Thread" os_prio= tid=0x0000000015f45800 nid=0x293c waiting on condition JNI global references:
https://www.cnblogs.com/chenpi/p/5377445.html
jstat:
jstat(JVM Statistics Monitoring Tool)是用于监控虚拟机各种运行状态信息的命令行工具。他可以显示本地或远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据,在没有GUI图形的服务器上,它是运行期定位虚拟机性能问题的首选工具。
jstat位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。可见,Jstat是轻量级的、专门针对JVM的工具,非常适用。
D:\Program Files\Java\jdk1..0_102\bin
$ jstat -gc
S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT
34048.0 34048.0 11948.2 0.0 272640.0 86062.3 278508.0 155625.8 351652.0 327552.2 50564.0 45442.3 5.785 24.346 30.131 D:\Program Files\Java\jdk1..0_102\bin
$ jstat -class
Loaded Bytes Unloaded Bytes Time
122416.9 3099.5 82.53 D:\Program Files\Java\jdk1..0_102\bin
$ jstat -compiler
Compiled Failed Invalid Time FailedType FailedMethod
664.16 org/apache/xerces/impl/XMLNSDocumentScannerImpl scanStartElement D:\Program Files\Java\jdk1..0_102\bin
$ jstat -gcutil
S0 S1 E O M CCS YGC YGCT FGC FGCT GCT
35.09 0.00 36.40 55.88 93.15 89.87 5.785 24.346 30.131
选项option代表这用户希望查询的虚拟机信息,主要分为3类:类装载、垃圾收集和运行期编译状况,具体选项及作用如下:
–class 监视类装载、卸载数量、总空间及类装载所耗费的时间
–gc 监视Java堆状况,包括Eden区、2个Survivor区、老年代、永久代等的容量
–gccapacity 监视内容与-gc基本相同,但输出主要关注Java堆各个区域使用到的最大和最小空间
–gcutil 监视内容与-gc基本相同,但输出主要关注已使用空间占总空间的百分比
–gccause 与-gcutil功能一样,但是会额外输出导致上一次GC产生的原因
–gcnew 监视新生代GC的状况
–gcnewcapacity 监视内容与-gcnew基本相同,输出主要关注使用到的最大和最小空间
–gcold 监视老年代GC的状况
–gcoldcapacity 监视内容与——gcold基本相同,输出主要关注使用到的最大和最小空间
–gcpermcapacity 输出永久代使用到的最大和最小空间
–compiler 输出JIT编译器编译过的方法、耗时等信息
–printcompilation 输出已经被JIT编译的方法
常见术语
1、jstat –class<pid> : 显示加载class的数量,及所占空间等信息。
Loaded 装载的类的数量
Bytes 装载类所占用的字节数
Unloaded 卸载类的数量
Bytes 卸载类的字节数
Time 装载和卸载类所花费的时间
2、jstat -compiler <pid>显示VM实时编译的数量等信息。
Compiled 编译任务执行数量
Failed 编译任务执行失败数量
Invalid 编译任务执行失效数量
Time 编译任务消耗时间
FailedType 最后一个编译失败任务的类型
FailedMethod 最后一个编译失败任务所在的类及方法
3、jstat -gc <pid>: 可以显示gc的信息,查看gc的次数,及时间。
S0C 年轻代中第一个survivor(幸存区)的容量 (字节)
S1C 年轻代中第二个survivor(幸存区)的容量 (字节)
S0U 年轻代中第一个survivor(幸存区)目前已使用空间 (字节)
S1U 年轻代中第二个survivor(幸存区)目前已使用空间 (字节)
EC 年轻代中Eden(伊甸园)的容量 (字节)
EU 年轻代中Eden(伊甸园)目前已使用空间 (字节)
OC Old代的容量 (字节)
OU Old代目前已使用空间 (字节)
PC Perm(持久代)的容量 (字节)
PU Perm(持久代)目前已使用空间 (字节)
YGC 从应用程序启动到采样时年轻代中gc次数
YGCT 从应用程序启动到采样时年轻代中gc所用时间(s)
FGC 从应用程序启动到采样时old代(全gc)gc次数
FGCT 从应用程序启动到采样时old代(全gc)gc所用时间(s)
GCT 从应用程序启动到采样时gc用的总时间(s)
4、jstat -gccapacity <pid>:可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小
NGCMN 年轻代(young)中初始化(最小)的大小(字节)
NGCMX 年轻代(young)的最大容量 (字节)
NGC 年轻代(young)中当前的容量 (字节)
S0C 年轻代中第一个survivor(幸存区)的容量 (字节)
S1C 年轻代中第二个survivor(幸存区)的容量 (字节)
EC 年轻代中Eden(伊甸园)的容量 (字节)
OGCMN old代中初始化(最小)的大小 (字节)
OGCMX old代的最大容量(字节)
OGC old代当前新生成的容量 (字节)
OC Old代的容量 (字节)
PGCMN perm代中初始化(最小)的大小 (字节)
PGCMX perm代的最大容量 (字节)
PGC perm代当前新生成的容量 (字节)
PC Perm(持久代)的容量 (字节)
YGC 从应用程序启动到采样时年轻代中gc次数
FGC 从应用程序启动到采样时old代(全gc)gc次数
5、jstat -gcutil <pid>:统计gc信息
S0 年轻代中第一个survivor(幸存区)已使用的占当前容量百分比
S1 年轻代中第二个survivor(幸存区)已使用的占当前容量百分比
E 年轻代中Eden(伊甸园)已使用的占当前容量百分比
O old代已使用的占当前容量百分比
P perm代已使用的占当前容量百分比
YGC 从应用程序启动到采样时年轻代中gc次数
YGCT 从应用程序启动到采样时年轻代中gc所用时间(s)
FGC 从应用程序启动到采样时old代(全gc)gc次数
FGCT 从应用程序启动到采样时old代(全gc)gc所用时间(s)
GCT 从应用程序启动到采样时gc用的总时间(s)
6、jstat -gcnew <pid>:年轻代对象的信息。
S0C 年轻代中第一个survivor(幸存区)的容量 (字节)
S1C 年轻代中第二个survivor(幸存区)的容量 (字节)
S0U 年轻代中第一个survivor(幸存区)目前已使用空间 (字节)
S1U 年轻代中第二个survivor(幸存区)目前已使用空间 (字节)
TT 持有次数限制
MTT 最大持有次数限制
EC 年轻代中Eden(伊甸园)的容量 (字节)
EU 年轻代中Eden(伊甸园)目前已使用空间 (字节)
YGC 从应用程序启动到采样时年轻代中gc次数
YGCT 从应用程序启动到采样时年轻代中gc所用时间(s)
7、jstat -gcnewcapacity<pid>: 年轻代对象的信息及其占用量。
NGCMN 年轻代(young)中初始化(最小)的大小(字节)
NGCMX 年轻代(young)的最大容量 (字节)
NGC 年轻代(young)中当前的容量 (字节)
S0CMX 年轻代中第一个survivor(幸存区)的最大容量 (字节)
S0C 年轻代中第一个survivor(幸存区)的容量 (字节)
S1CMX 年轻代中第二个survivor(幸存区)的最大容量 (字节)
S1C 年轻代中第二个survivor(幸存区)的容量 (字节)
ECMX 年轻代中Eden(伊甸园)的最大容量 (字节)
EC 年轻代中Eden(伊甸园)的容量 (字节)
YGC 从应用程序启动到采样时年轻代中gc次数
FGC 从应用程序启动到采样时old代(全gc)gc次数
8、jstat -gcold <pid>:old代对象的信息。
PC Perm(持久代)的容量 (字节)
PU Perm(持久代)目前已使用空间 (字节)
OC Old代的容量 (字节)
OU Old代目前已使用空间 (字节)
YGC 从应用程序启动到采样时年轻代中gc次数
FGC 从应用程序启动到采样时old代(全gc)gc次数
FGCT 从应用程序启动到采样时old代(全gc)gc所用时间(s)
GCT 从应用程序启动到采样时gc用的总时间(s)
9、stat -gcoldcapacity <pid>: old代对象的信息及其占用量。
OGCMN old代中初始化(最小)的大小 (字节)
OGCMX old代的最大容量(字节)
OGC old代当前新生成的容量 (字节)
OC Old代的容量 (字节)
YGC 从应用程序启动到采样时年轻代中gc次数
FGC 从应用程序启动到采样时old代(全gc)gc次数
FGCT 从应用程序启动到采样时old代(全gc)gc所用时间(s)
GCT 从应用程序启动到采样时gc用的总时间(s)
10、jstat -gcpermcapacity<pid>: perm对象的信息及其占用量。
PGCMN perm代中初始化(最小)的大小 (字节)
PGCMX perm代的最大容量 (字节)
PGC perm代当前新生成的容量 (字节)
PC Perm(持久代)的容量 (字节)
YGC 从应用程序启动到采样时年轻代中gc次数
FGC 从应用程序启动到采样时old代(全gc)gc次数
FGCT 从应用程序启动到采样时old代(全gc)gc所用时间(s)
GCT 从应用程序启动到采样时gc用的总时间(s)
11、jstat -printcompilation <pid>:当前VM执行的信息。
Compiled 编译任务的数目
Size 方法生成的字节码的大小
Type 编译类型
Method 类名和方法名用来标识编译的方法。类名使用/做为一个命名空间分隔符。方法名是给定类中的方法。上述格式是由-XX:+PrintComplation选项进行设置的
====================================================
jhat:
jhat(Java Heap Analysis Tool),是一个用来分析java的堆情况的命令。之前的文章讲到过,使用jmap可以生成Java堆的Dump文件。生成dump文件之后就可以用jhat命令,将dump文件转成html的形式,然后通过http访问可以查看堆情况。
jhat命令解析会Java堆dump并启动一个web服务器,然后就可以在浏览器中查看堆的dump文件了。
D:\Program Files\Java\jdk1..0_102\bin
$ jps -l
org.jetbrains.idea.maven.server.RemoteMavenServer
sun.tools.jps.Jps
org.jetbrains.jps.cmdline.Launcher D:\Program Files\Java\jdk1..0_102\bin
$ jmap -dump:format=b,file=heapDump
Dumping heap to D:\Program Files\Java\jdk1..0_102\bin\heapDump ...
Heap dump file created D:\Program Files\Java\jdk1..0_102\bin
$ jhat heapDump
Reading from heapDump...
Dump file created Wed Mar :: CST
Snapshot read, resolving...
Resolving objects...
Chasing references, expect dots..............................
Eliminating duplicate references.................................
Snapshot resolved.
Started HTTP server on port
Server is ready.
jinfo:列出jvm进程相关配置信息
D:\Program Files\Java\jdk1..0_102\bin
$ jinfo
Attaching to process ID , please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.102-b14
Java System Properties: java.vendor = Oracle Corporation
sun.java2d.uiScale.enabled = true
idea.config.path = D:/Program Files (x86)/JetBrains/IDEA Configuration And Cache/config
sun.management.compiler = HotSpot -Bit Tiered Compilers
sun.nio.ch.bugLevel =
idea.paths.selector = IntelliJIdea2017.
jnidispatch.path = D:\Program Files (x86)\JetBrains\IDEA Configuration And Cache\system\tmp\jna4994633568019551061.dll
winp.unpack.dll.to.parent.dir = false
os.name = Windows
sun.boot.class.path = D:\Program Files\Java\jdk1..0_102\jre\lib\resources.jar;D:\Program Files\Java\jdk1..0_102\jre\lib\rt.jar;D:\Program Files\Java\jdk1..0_102\jre\lib\sunrsasign.jar;D:\Program Files\Java\jdk1..0_102\jre\lib\jsse.jar;D:\Program Files\Java\jdk1..0_102\jre\lib\jce.jar;D:\Program Files\Java\jdk1..0_102\jre\lib\charsets.jar;D:\Program Files\Java\jdk1..0_102\jre\lib\jfr.jar;D:\Program Files\Java\jdk1..0_102\jre\classes;D:\Program Files (x86)\JetBrains\ideaIU-2017.2..win\lib\boot.jar
idea.system.path = D:/Program Files (x86)/JetBrains/IDEA Configuration And Cache/system
sun.desktop = windows
java.vm.specification.vendor = Oracle Corporation
idea.plugins.path = D:/Program Files (x86)/JetBrains/IDEA Configuration And Cache/config/plugins
java.runtime.version = 1.8.0_102-b14
jb.vmOptionsFile = D:\Program Files (x86)\JetBrains\ideaIU-2017.2..win\bin\idea64.exe.vmoptions
jna.loaded = true
io.netty.serviceThreadPrefix = Netty
user.name = qhong
sun.java2d.pmoffscreen = false
java.rmi.server.disableHttp = true
svnkit.http.methods = Basic,Digest,NTLM
user.language = zh
sun.boot.library.path = D:\Program Files\Java\jdk1..0_102\jre\bin
idea.fatal.error.notification = disabled
jna.nosys = true
idea.registered = true
sun.io.useCanonCaches = false
java.version = 1.8.0_102
swing.bufferPerWindow = true
user.timezone = Asia/Shanghai
java.net.preferIPv4Stack = true
sun.arch.data.model =
java.util.concurrent.ForkJoinPool.common.threadFactory = com.intellij.concurrency.IdeaForkJoinWorkerThreadFactory
jna.tmpdir = D:\Program Files (x86)\JetBrains\IDEA Configuration And Cache\system\tmp
java.endorsed.dirs = D:\Program Files\Java\jdk1..0_102\jre\lib\endorsed
apple.awt.UIElement = true
sun.cpu.isalist = amd64
sun.jnu.encoding = GBK
file.encoding.pkg = sun.io
file.separator = \
java.specification.name = Java Platform API Specification
java.class.version = 52.0
user.country = CN
sun.awt.noerasebackground = true
java.home = D:\Program Files\Java\jdk1..0_102\jre
java.util.concurrent.ForkJoinPool.common.parallelism =
java.vm.info = mixed mode
os.version = 10.0
path.separator = ;
java.vm.version = 25.102-b14
idea.no.launcher = false
user.variant =
idea.max.content.load.filesize =
sun.awt.enableExtraMouseButtons = true
java.awt.printerjob = sun.awt.windows.WPrinterJob
javax.swing.rebaseCssSizeMap = true
sun.io.unicode.encoding = UnicodeLittle
awt.toolkit = sun.awt.windows.WToolkit
idea.cycle.buffer.size =
log4j.defaultInitOverride = true
io.netty.processId =
user.script =
sun.awt.exception.handler = com.intellij.openapi.application.impl.AWTExceptionHandler
user.home = C:\Users\qhong
idea.dynamic.classpath = false
__idea.mac.env.lock = unlocked
java.specification.vendor = Oracle Corporation
idea.log.path = D:/Program Files (x86)/JetBrains/IDEA Configuration And Cache/system/log
java.library.path = D:\Program Files (x86)\JetBrains\ideaIU-2017.2..win\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.\;C:\Program Files\TortoiseGit\bin;C:\Users\qhong\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files\Microsoft SQL Server\\DTS\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\\Tools\Binn\;C:\Program Files\Microsoft SQL Server\\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\\Tools\Binn\ManagementStudio\;C:\Program Files (x86)\Microsoft SQL Server\\DTS\Binn\;%ANDROID_HOME%;%ANDROID_HOME%\tools;%ANDROID_HOME%\build-tools;%ANDROID_HOME%\platform-tools;D:\Program Files\Tomcat8\bin;D:\Program Files\Java\jdk1..0_102\bin;D:\Program Files\Java\jdk1..0_102\jre\bin;D:\Program Files\MySQL\bin;D:\Program Files (x86)\JetBrains\IDEA Configuration And Cache\maven\bin;%GRADLE_HOME%\bin;D:\Program Files (x86)\JetBrains\IDEA Configuration And Cache\maven\bin;C:\Program Files\Git\cmd;D:\Program Files\cmder;C:\Program Files\TortoiseSVN\bin;D:\Program Files\nodejs;D:\Program Files\curl\bin;C:\Users\qhong\AppData\Local\Microsoft\WindowsApps;;C:\Program Files\Microsoft VS Code\bin;C:\Users\qhong\AppData\Local\Programs\Fiddler;.
java.vendor.url = http://java.oracle.com/
java.vm.vendor = Oracle Corporation
java.runtime.name = Java(TM) SE Runtime Environment
java.class.path = D:\Program Files (x86)\JetBrains\ideaIU-2017.2..win\lib\bootstrap.jar;D:\Program Files (x86)\JetBrains\ideaIU-2017.2..win\lib\extensions.jar;D:\Program Files (x86)\JetBrains\ideaIU-2017.2..win\lib\util.jar;D:\Program Files (x86)\JetBrains\ideaIU-2017.2..win\lib\jdom.jar;D:\Program Files (x86)\JetBrains\ideaIU-2017.2..win\lib\log4j.jar;D:\Program Files (x86)\JetBrains\ideaIU-2017.2..win\lib\trove4j.jar;D:\Program Files (x86)\JetBrains\ideaIU-2017.2..win\lib\jna.jar;D:\Program Files\Java\jdk1..0_102\lib\tools.jar
io.netty.machineId = :f0::ff:fe:::0e
java.vm.specification.name = Java Virtual Machine Specification
idea.xdebug.key = -Xdebug
java.vm.specification.version = 1.8
idea.popup.weight = heavy
sun.cpu.endian = little
sun.os.patch.level =
java.io.tmpdir = C:\Users\qhong\AppData\Local\Temp\
java.vendor.url.bug = http://bugreport.sun.com/bugreport/
svnkit.log.native.calls = true
java.rmi.server.hostname = localhost
os.arch = amd64
java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
idea.max.intellisense.filesize =
java.ext.dirs = D:\Program Files\Java\jdk1..0_102\jre\lib\ext;C:\Windows\Sun\Java\lib\ext
idea.jre.check = true
user.dir = D:\Program Files (x86)\JetBrains\ideaIU-2017.2..win\bin
line.separator = java.vm.name = Java HotSpot(TM) -Bit Server VM
java.util.Arrays.useLegacyMergeSort = true
file.encoding = UTF-
java.specification.version = 1.8
sun.java2d.d3d = false VM Flags:
Non-default VM flags: -XX:CICompilerCount= -XX:ErrorFile=null -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=null -XX:InitialHeapSize= -XX:MaxHeapSize= -XX:MaxNewSize= -XX:MaxTenuringThreshold= -XX:MinHeapDeltaBytes= -XX:NewSize= -XX:OldPLABSize= -XX:OldSize= -XX:-OmitStackTraceInFastThrow -XX:ReservedCodeCacheSize= -XX:SoftRefLRUPolicyMSPerMB= -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseConcMarkSweepGC -XX:+UseFastUnorderedTimeStamps -XX:-UseLargePagesIndividualAllocation -XX:+UseParNewGC
Command line: -Xms512m -Xmx1500m -XX:ReservedCodeCacheSize=500m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB= -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Dfile.encoding=UTF- -Duser.name=qhong -Djb.vmOptionsFile=D:\Program Files (x86)\JetBrains\ideaIU-2017.2..win\bin\idea64.exe.vmoptions -Xbootclasspath/a:D:\Program Files (x86)\JetBrains\ideaIU-2017.2..win\lib\boot.jar -Didea.jre.check=true -Didea.paths.selector=IntelliJIdea2017. -XX:ErrorFile=C:\Users\qhong\java_error_in_idea_%p.log -XX:HeapDumpPath=C:\Users\qhong\java_error_in_idea.hprof
http://blog.csdn.net/heyutao007/article/details/51862227
Java命令使用 jmap,jps,jstack,jstat,jhat,jinfo的更多相关文章
- JVM性能监控与故障处理命令汇总(jps、jstat、jinfo、jmap、jhat、jstack)
给一个系统定位问题的时候,知识.经验是关键基础,数据是依据,工具才是运用知识处理数据的手段 使用适当的虚拟机监控和分析的工具可以加快我们分析数据.定位解决问题的速度,本文主要介绍了几款服 务器上常用的 ...
- JDK命令行(jps、jstat、jinfo、jmap、jhat、jstack、jstatd、hprof)与JConsole
很多资料在介绍JDK命令行工具时并不是在Java8环境下,因此还在使用过时的永久区系列的参数,给一些读者造成困难. Java8使用Metaspace(元空间)代替永久区,对于64位平台,为了压缩JVM ...
- JVM监控工具:jps、jstat、jinfo、jmap、jhat、jstack使用介绍
转载:http://outofmemory.cn/java/jvm/jvm-tools-jps-jstat-jinfo-jmap-jhat-jstack 一.jps(JVM Process Statu ...
- java命令-(学习)jstack 工具
一.介绍 jstack是java虚拟机自带的一种堆栈跟踪工具.jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项&qu ...
- Java命令学习系列(五)——jhat
jhat(Java Heap Analysis Tool),是一个用来分析java的堆情况的命令.之前的文章讲到过,使用jmap可以生成Java堆的Dump文件.生成dump文件之后就可以用jhat命 ...
- 深入理解java虚拟机---虚拟机工具jps与jstat(十四)
jps-java process status jps类似于linux的ps命令,用于查看进程. JPS 名称: jps - Java Virtual Machine Process Status T ...
- java性能优化常用工具jps、jstat、jinfo
jps:虚拟机进程状况工具 jps可以用来查看虚拟机进程,基本等同于ps -ef|grep java #查看jps的使用文档 [root@localhost script]# jps -help us ...
- JDK常用命令(一)jps、jstat
曾几何时,我们学习java都不再研究jdk而直接使用IDEA.eclipse和Netbeans,仿佛我们就认为我们的程序是这些编辑器编译出来的,这时多么可笑.殊不知,编辑器就是方便我们编辑开发的,而真 ...
- Java命令学习系列(一)——Jps
jps位于jdk的bin目录下,其作用是显示当前系统的java进程情况,及其id号. jps相当于Solaris进程工具ps.不象”pgrep java”或”ps -ef grep java”,jps ...
随机推荐
- webpack笔记一
gulp和grunt都以task来运行不同的命令,而看webpack相关文档都是webpack都是module.下面是一个简单的demo 一.目录解构 二.webpack.config.js文件 co ...
- IO流(5)判断功能
判断功能: * public boolean isDirectory():判断是否是目录 * public boolean isFile():判断是否是文件 * public boolean exis ...
- [py][mx]django模板继承-课程列表页
课程列表页分析 1,机构类型 2,所在地区 3.排序 学习人数 先分析下 纵观页面,页头页脚都一样. django提供了模板继承. 至少 不同页面的title 面包屑路径 content内容不一致,以 ...
- 基于comet服务器推送技术(web实时聊天)
http://www.cnblogs.com/zengqinglei/archive/2013/03/31/2991189.html Comet 也称反向 Ajax 或服务器端推技术.其思想很简单:将 ...
- 如何用softmax和sigmoid来做多分类和多标签分类
首先,说下多类分类和多标签分类的区别 多标签分类:一个样本可以属于多个类别(或标签),不同类之间是有关联的,比如一个文本被被划分成“人物”和“体育人物”两个标签.很显然这两个标签不是互斥的,而是有关联 ...
- linux文件系统软链接硬链接
引子 目前,UNIX的文件系统有很多种实现,例如UFS(基于BSD的UNIX文件系统).ext3.ext4.ZFS和Reiserfs等等. 不论哪一种文件系统,总是需要存储数据.硬盘的最小存储单位是扇 ...
- js自执行函数的常见写法
js自执行函数的常见写法 2016-12-20 20:02:26 1.关于自执行函数 1.1 写自执行函数的好处:独立的作用域,不会污染全局环境 (function() { })(); 1.2 理解重 ...
- Python - matplotlib 数据可视化
在许多实际问题中,经常要对给出的数据进行可视化,便于观察. 今天专门针对Python中的数据可视化模块--matplotlib这块内容系统的整理,方便查找使用. 本文来自于对<利用python进 ...
- linux常用命令:ln 命令
ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在 ...
- python pip list 命令列出所有安装包和版本信息
c:\Python27\Scripts>pip listDEPRECATION: The default format will switch to columns in the future. ...