JVM 常用参数总结

Posted 皓月行空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JVM 常用参数总结相关的知识,希望对你有一定的参考价值。

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>


以上是关于JVM 常用参数总结的主要内容,如果未能解决你的问题,请参考以下文章

JVM常用启动参数+常用内存调试工具

JVM常用参数

JVM-常用内存调优参数总结

JVM 常用参数

JVM常用虚拟机命令汇总

JVM常用参数