跳转到内容
主菜单
主菜单
移至侧栏
隐藏
规范/协议
协议
算法
JVM
多线程/并发
存储
AI
深度学习
工具箱
最近更改
文章分类
全部文章
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:Java]]
返回
JVM optimization
。
搜索
搜索
查看“︁JVM optimization”︁的源代码
添加话题