JVM 常用参数总结

来源:互联网 发布:淘宝自动优化标题软件 编辑:程序博客网 时间:2024/06/08 16:30

1、-Xms20M 初始堆大小

2、-Xmx20M 最大堆大小

3、-Xmn10M 新生代大小

4、-Xss128K  每个线程堆栈大小 

5、-XX:+PrintFlagsInitial 打印所有可设置参数的初始值

6、-XX:+PrintFlagsFinal 代言所有可设置参数的当前值

7、-verbose:gc  开启打印垃圾回收日志

8、-Xloggc:eclipse_gc.log  日志文件输出路径

9、-XX:+PrintGCDetails (打印垃圾回收详情)

10、-XX:+PrintGCTimeStamps (打印垃圾回收时间信息时的时间格式) 

11、-XX:PermSize设置永久代(perm gen)初始值。默认值为物理内存的1/64

12、-XX:MaxPermSize设置持久代最大值。物理内存的1/4

13、-XX:+PrintHeapAtGC 在进行GC的前后打印出堆的信息


14、jps 查看JAVA进程id 

(1)-m    输出传递给主类main()函数的参数

(2)-l       输出主类的全名

(3)-v      输出进程启动的JVM 参数

15、jstat 监视虚拟机各种运行状态信息

16、 jinfo  进程id  查看java进程的参数

17、jstack 进程id 查看java进程的线程堆栈信息

(1)-l 除堆外,显示关于锁的附加信息

(2)写一个jsp文件,可以部署到服务器上,实时查看线程堆栈信息,代码如下:

<%@ page language="java" pageEncoding="UTF-8"%><%@ page import="java.util.Map" %><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>服务器线程信息</title></head><body><pre><%for(Map.Entry<Thread,StackTraceElement[]>stackTrace:Thread.getAllStackTraces().entrySet()){Thread thread=(Thread)stackTrace.getKey();StackTraceElement[] stack=(StackTraceElement[])stackTrace.getValue();if(thread.equals(Thread.currentThread())){continue;}out.print("\n线程: "+thread.getName()+"\n");for(StackTraceElement element:stack){out.print("\t"+element+"\n");}}%></pre></body></html>


原创粉丝点击