首页
随机
最近更改
特殊页面
社群首页
参数设置
关于WHY42
免责声明
WHY42
搜索
用户菜单
登录
欢迎来到Riguz的小站!这是一个私人wiki,用来记录一些我的笔记。
查看“︁JVM optimization”︁的源代码
←
JVM optimization
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
这几天发现自己写的Web程序很占内存,512m的服务器部署两个tomcat,一个mysql :<。性能吃紧,学习下JVM的欸村分析方法。 =查看Java进程= <source lang="bash"> jps top #shift +m按内存排序 </source> [[Image:Jps_Out.png|600px]] [[Image:Top_Out.png|600px]] 有介绍说可以通过PS命令查看进程的线程占用情况,但这里没能提供更多的信息 <source lang="bash"> ps -mp 31560 -o THREAD,tid,time,rss,size,%mem </source> =jmap命令= <source lang="bash"> jmap [option] <pid> <none> to print same info as Solaris pmap -heap to print java heap summary -histo[:live] to print histogram of java object heap; if the "live" suboption is specified, only count live objects -permstat to print permanent generation statistics ... </source> 其中,jmap -histo:live [pid] 可以查看当前Java进程创建的活跃对象数目和占用内存大小。 jmap -dump:live,format=b,file=xxx.xxx [pid] 则可以将当前Java进程的内存占用情况导出来,方便用专门的内存分析工具(例如:MAT)来分析。 <source lang="bash"> jmap -histo:live 31560 | head -n 10 </source> [[Image:Jmap_Head_Out.png|600px]] 其中: #[C is a char[] #[S is a short[] #[I is a int[] #[B is a byte[] #[[I is a int[][] #参考文章 [[http://blog.csdn.net/blade2001/article/details/9066001]] [[Category:Programe]]
返回
JVM optimization
。