查看Java JVM参数配置信息命令
java -XX:+PrintCommandLineFlags
jvm运行时状态的参数,可以很快找出问题所在。现在把几个命令记录一下:
1. jstat
这个命令对于查看Jvm的堆栈信息很有用。能够查看eden,survivor,old,perm等heap的capacity,utility信息
对于查看系统是不是有能存泄漏以及参数设置是否合理有不错的意义
2. jstack
这个是用来查看jvm当前的thread dump的。可以看到当前Jvm里面的线程状况。这个对于查找blocked线程比较有意义
3. jmap
这个是用来查看jvm当前的heap dump的。可以看出当前jvm中各种对象的数量,所占空间等。可以到处一份binary heap dump的bin文件,这个文件能够直接用Eclipse Memory Anayliser来分析,并找出潜在的内存泄漏的地方。
4. jinfo
查看运行中的java实例参数,如下设置的tomcat的最大内存
jinfo -flag MaxHeapSize 3556
查看已经赋值过的参数信息
jinfo -flag MaxHeapSize 7208
查看垃圾回收器
jinfo -flag UseG1GC 7208
5. 非jvm命令 -- netstat
通过这个命令可以看到linux系统当前在各个端口的链接状态,比如查看数据库连接数等