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.8.0_102\bin              
$ jmap -heap 47960                                  
Attaching to process ID 47960, please wait...       
Debugger attached successfully.                     
Server compiler detected.                           
JVM version is 25.102-b14                           
                                                    
using thread-local object allocation.               
Parallel GC with 4 thread(s)                        
                                                    
Heap Configuration:                                 
   MinHeapFreeRatio         = 0                     
   MaxHeapFreeRatio         = 100                   
   MaxHeapSize              = 734003200 (700.0MB)   
   NewSize                  = 42991616 (41.0MB)     
   MaxNewSize               = 244318208 (233.0MB)   
   OldSize                  = 87031808 (83.0MB)     
   NewRatio                 = 2                     
   SurvivorRatio            = 8                     
   MetaspaceSize            = 21807104 (20.796875MB)
   CompressedClassSpaceSize = 1073741824 (1024.0MB) 
   MaxMetaspaceSize         = 17592186044415 MB     
   G1HeapRegionSize         = 0 (0.0MB)             
                                                    
Heap Usage:                                         
PS Young Generation                                 
Eden Space:                                         
   capacity = 32505856 (31.0MB)                     
   used     = 19961640 (19.036903381347656MB)       
   free     = 12544216 (11.963096618652344MB)       
   61.40936574628276% used                          
From Space:                                         
   capacity = 5242880 (5.0MB)                       
   used     = 4268096 (4.07037353515625MB)          
   free     = 974784 (0.92962646484375MB)           
   81.407470703125% used                            
To Space:                                           
   capacity = 5242880 (5.0MB)                       
   used     = 0 (0.0MB)                             
   free     = 5242880 (5.0MB)                       
   0.0% used                                        
PS Old Generation                                   
   capacity = 87031808 (83.0MB)                     
   used     = 16867360 (16.085968017578125MB)       
   free     = 70164448 (66.91403198242188MB)        
   19.380684358527862% used                         
                                                    
5691 interned Strings occupying 486856 bytes.       

https://www.cnblogs.com/qlqwjy/p/7953491.html

jps:显示当前所有java进程pid的命令,简单实用

D:\Program Files\Java\jdk1.8.0_102\bin
$ jps
15856 RemoteMavenServer
17412 Jps
47960 Launcher
5224

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.8.0_102\bin
$ jstack 15856
2018-03-21 14:31:40
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.102-b14 mixed mode):
......

具体:

D:\Program Files\Java\jdk1.8.0_102\bin
$ jstack 15856
2018-03-21 14:31:40
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.102-b14 mixed mode):

"RMI RenewClean-[localhost:2913]" #18 daemon prio=5 os_prio=0 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:143)
        - locked <0x00000000d00fbc40> (a java.lang.ref.ReferenceQueue$Lock)
        at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:553)
        at java.lang.Thread.run(Thread.java:745)

"RMI Scheduler(0)" #17 daemon prio=5 os_prio=0 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:215)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

"GC Daemon" #14 daemon prio=2 os_prio=-2 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:117)
        - locked <0x00000000d0009450> (a sun.misc.GC$LatencyLock)

"RMI Reaper" #13 prio=5 os_prio=0 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:143)
        - locked <0x00000000d00014d0> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
        at sun.rmi.transport.ObjectTable$Reaper.run(ObjectTable.java:351)
        at java.lang.Thread.run(Thread.java:745)

"RMI TCP Accept-0" #12 daemon prio=5 os_prio=0 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:131)
        at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:199)
        - locked <0x00000000d000f990> (a java.net.SocksSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:545)
        at java.net.ServerSocket.accept(ServerSocket.java:513)
        at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:400)
        at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:372)
        at java.lang.Thread.run(Thread.java:745)

"RMI TCP Accept-33846" #11 daemon prio=5 os_prio=0 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:131)
        at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:199)
        - locked <0x00000000d0016fd8> (a java.net.SocksSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:545)
        at java.net.ServerSocket.accept(ServerSocket.java:513)
        at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:400)
        at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:372)
        at java.lang.Thread.run(Thread.java:745)

"Service Thread" #9 daemon prio=9 os_prio=0 tid=0x0000000015ef7800 nid=0x2538 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C1 CompilerThread2" #8 daemon prio=9 os_prio=2 tid=0x0000000015eb2000 nid=0x2534 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" #7 daemon prio=9 os_prio=2 tid=0x0000000015e7b000 nid=0x45b0 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #6 daemon prio=9 os_prio=2 tid=0x0000000015e79000 nid=0x2500 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Attach Listener" #5 daemon prio=5 os_prio=2 tid=0x0000000014abd800 nid=0x2530 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" #4 daemon prio=9 os_prio=2 tid=0x0000000014a71800 nid=0x24fc runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" #3 daemon prio=8 os_prio=1 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:143)
        - locked <0x00000000d0009eb0> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)

"Reference Handler" #2 daemon prio=10 os_prio=2 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:502)
        at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
        - locked <0x00000000d0001688> (a java.lang.ref.Reference$Lock)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)

"main" #1 prio=5 os_prio=0 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:80)
        - locked <0x00000000d0009ef0> (a java.lang.Object)
        at org.jetbrains.idea.maven.server.RemoteMavenServer.main(RemoteMavenServer.java:22)

"VM Thread" os_prio=2 tid=0x0000000014a27000 nid=0xb18 runnable

"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x0000000002c0a000 nid=0x3ca8 runnable

"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x0000000002c0b800 nid=0x35f8 runnable

"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x0000000002c0d800 nid=0x1044 runnable

"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x0000000002c0f000 nid=0x3ff8 runnable

"VM Periodic Task Thread" os_prio=2 tid=0x0000000015f45800 nid=0x293c waiting on condition

JNI global references: 261
View Code

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.8.0_102\bin
$ jstat -gc 5224
 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    228    5.785  44     24.346   30.131

D:\Program Files\Java\jdk1.8.0_102\bin
$ jstat -class 5224
Loaded  Bytes  Unloaded  Bytes     Time
 62628 122416.9     2277  3099.5      82.53

D:\Program Files\Java\jdk1.8.0_102\bin
$ jstat -compiler 5224
Compiled Failed Invalid   Time   FailedType FailedMethod
   80139      1       0   664.16          1 org/apache/xerces/impl/XMLNSDocumentScannerImpl scanStartElement

D:\Program Files\Java\jdk1.8.0_102\bin
$ jstat -gcutil 5224
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT
 35.09   0.00  36.40  55.88  93.15  89.87    228    5.785    44   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.8.0_102\bin
$ jps -l
15856 org.jetbrains.idea.maven.server.RemoteMavenServer
228 sun.tools.jps.Jps
47960 org.jetbrains.jps.cmdline.Launcher
5224

D:\Program Files\Java\jdk1.8.0_102\bin
$ jmap -dump:format=b,file=heapDump 5224
Dumping heap to D:\Program Files\Java\jdk1.8.0_102\bin\heapDump ...
Heap dump file created

D:\Program Files\Java\jdk1.8.0_102\bin
$ jhat heapDump
Reading from heapDump...
Dump file created Wed Mar 21 14:44:10 CST 2018
Snapshot read, resolving...
Resolving 4992940 objects...
Chasing references, expect 998 dots..............................
Eliminating duplicate references.................................
Snapshot resolved.
Started HTTP server on port 7000
Server is ready.

jinfo:列出jvm进程相关配置信息

D:\Program Files\Java\jdk1.8.0_102\bin
$ jinfo 5224
Attaching to process ID 5224, 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 64-Bit Tiered Compilers
sun.nio.ch.bugLevel =
idea.paths.selector = IntelliJIdea2017.2
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 10
sun.boot.class.path = D:\Program Files\Java\jdk1.8.0_102\jre\lib\resources.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\rt.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\sunrsasign.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\jsse.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\jce.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\charsets.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\jfr.jar;D:\Program Files\Java\jdk1.8.0_102\jre\classes;D:\Program Files (x86)\JetBrains\ideaIU-2017.2.1.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.1.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.8.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 = 64
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.8.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.8.0_102\jre
java.util.concurrent.ForkJoinPool.common.parallelism = 4
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 = 20000
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 = 1024
log4j.defaultInitOverride = true
io.netty.processId = 58409
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.1.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.0\;C:\Program Files\TortoiseGit\bin;C:\Users\qhong\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files\Microsoft SQL Server\120\DTS\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\;C:\Program Files (x86)\Microsoft SQL Server\120\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.8.0_102\bin;D:\Program Files\Java\jdk1.8.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.1.win\lib\bootstrap.jar;D:\Program Files (x86)\JetBrains\ideaIU-2017.2.1.win\lib\extensions.jar;D:\Program Files (x86)\JetBrains\ideaIU-2017.2.1.win\lib\util.jar;D:\Program Files (x86)\JetBrains\ideaIU-2017.2.1.win\lib\jdom.jar;D:\Program Files (x86)\JetBrains\ideaIU-2017.2.1.win\lib\log4j.jar;D:\Program Files (x86)\JetBrains\ideaIU-2017.2.1.win\lib\trove4j.jar;D:\Program Files (x86)\JetBrains\ideaIU-2017.2.1.win\lib\jna.jar;D:\Program Files\Java\jdk1.8.0_102\lib\tools.jar
io.netty.machineId = 28:f0:76:ff:fe:16:65: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 = 2500
java.ext.dirs = D:\Program Files\Java\jdk1.8.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.1.win\bin
line.separator =

java.vm.name = Java HotSpot(TM) 64-Bit Server VM
java.util.Arrays.useLegacyMergeSort = true
file.encoding = UTF-8
java.specification.version = 1.8
sun.java2d.d3d = false

VM Flags:
Non-default VM flags: -XX:CICompilerCount=3 -XX:ErrorFile=null -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=null -XX:InitialHeapSize=536870912 -XX:MaxHeapSize=1572864000 -XX:MaxNewSize=348913664 -XX:MaxTenuringThreshold=6 -XX:MinHeapDeltaBytes=196608 -XX:NewSize=348913664 -XX:OldPLABSize=16 -XX:OldSize=187957248 -XX:-OmitStackTraceInFastThrow -XX:ReservedCodeCacheSize=524288000 -XX:SoftRefLRUPolicyMSPerMB=50 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseConcMarkSweepGC -XX:+UseFastUnorderedTimeStamps -XX:-UseLargePagesIndividualAllocation -XX:+UseParNewGC
Command line:  -Xms512m -Xmx1500m -XX:ReservedCodeCacheSize=500m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Dfile.encoding=UTF-8 -Duser.name=qhong -Djb.vmOptionsFile=D:\Program Files (x86)\JetBrains\ideaIU-2017.2.1.win\bin\idea64.exe.vmoptions -Xbootclasspath/a:D:\Program Files (x86)\JetBrains\ideaIU-2017.2.1.win\lib\boot.jar -Didea.jre.check=true -Didea.paths.selector=IntelliJIdea2017.2 -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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值