JVM 内存分析
程序员文章站
2022-03-08 20:17:34
...
源:http://kevin1.iteye.com/blog/1538471
1.获取java程序进程号
Java代码 收藏代码
jps
2.jmap
Java代码 收藏代码
jmap pid #打印内存使用的摘要信息
jmap –heap pid #java heap信息
jmap -histo:live pid #统计对象count ,live表示在使用
jmap -histo pid >mem.txt #打印比较简单的各个有多少个对象占了多少内存的信息,一般重定向的文件
jmap -dump:format=b,file=mem.dat pid #将内存使用的详细情况输出到mem.dat 文件,可以用jvisualvm等工具进行内存分析
3.jstack
Java代码 收藏代码
jstack $PID
可以找出cpu使用最高的对象,jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息
4.jinfo
Java代码 收藏代码
jinfo $PID
Java Configuration Info
5.jstat
Java代码 收藏代码
jstat -gcutil pid #统计gc信息统计
jstat -gcnewcapacity pid #年轻代对象的信息及其占用量
更多详情见: http://www.2cto.com/kf/201109/105988.html
6.参数设定
Java代码 收藏代码
-XX:PrintGCDetails 控制台显示收集器日志信息
-Xms 20M、 -Xmx20M -Xmn10M 堆大小为20M,不可扩展,其中新生代为10M
-XX:+PrintTenuringDistribution=15 年龄多大进入老年代,默认为15
-XX:HandlePromotionFailure=true|false 担保失败,新生代没有空间,可以直接放入老年代中,如果为true,则只进行一次Minior GC,否则进行一次Full GC
1.获取java程序进程号
Java代码 收藏代码
jps
2.jmap
Java代码 收藏代码
jmap pid #打印内存使用的摘要信息
jmap –heap pid #java heap信息
jmap -histo:live pid #统计对象count ,live表示在使用
jmap -histo pid >mem.txt #打印比较简单的各个有多少个对象占了多少内存的信息,一般重定向的文件
jmap -dump:format=b,file=mem.dat pid #将内存使用的详细情况输出到mem.dat 文件,可以用jvisualvm等工具进行内存分析
3.jstack
Java代码 收藏代码
jstack $PID
可以找出cpu使用最高的对象,jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息
4.jinfo
Java代码 收藏代码
jinfo $PID
Java Configuration Info
5.jstat
Java代码 收藏代码
jstat -gcutil pid #统计gc信息统计
jstat -gcnewcapacity pid #年轻代对象的信息及其占用量
更多详情见: http://www.2cto.com/kf/201109/105988.html
6.参数设定
Java代码 收藏代码
-XX:PrintGCDetails 控制台显示收集器日志信息
-Xms 20M、 -Xmx20M -Xmn10M 堆大小为20M,不可扩展,其中新生代为10M
-XX:+PrintTenuringDistribution=15 年龄多大进入老年代,默认为15
-XX:HandlePromotionFailure=true|false 担保失败,新生代没有空间,可以直接放入老年代中,如果为true,则只进行一次Minior GC,否则进行一次Full GC
上一篇: 主从延迟
下一篇: Ruby为什么会受程序员的欢迎?