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>


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值