
Java三大性能调优参数
java -Xms128m -Xmx128m -Xss256k -jar xxxxx.jar
- -Xms:堆的初始值,java堆的大小,-Xmx是其最大值
- -Xmx:堆能达到的最大值
- -Xss:规定了每个线程虚拟机栈(堆栈)的大小,一般256k就足够了,此配置会影响此进程中并发线程数的大小
JVM常用内存调优命令
JVM在内存调优方面,提供了几个常用的命令,分别为jps,jinfo,jstack,jmap以及jstat命令。分别介绍如下:
- jps:主要用来输出JVM中运行的进程状态信息,一般使用jps命令来查看进程的状态信息,包括JVM启动参数等。
- jinfo:主要用来观察进程运行环境参数等信息。
jstack:主要用来查看某个Java进程内的线程堆栈信息。jstack pid 可以看到当前进程中各个线程的状态信息,包括其持有的锁和等待的锁。 - jmap:用来查看堆内存使用状况。jmap -heap pid可以看到当前进程的堆信息和使用的GC收集器,包括年轻代和老年代的大小分配等
- jstat:进行实时命令行的监控,包括堆信息以及实时GC信息等。可以使用jstat -gcutil pid1000来每隔一秒来查看当前的GC信息。
关于JVM性能调优的深入讲解,这位大哥讲得很全面了,空降链接:
JVM性能调优