Jprofiler不能自动找到JVM是怎么回事
答案:1 悬赏:20 手机版
解决时间 2021-11-18 19:53
- 提问者网友:我一贱你就笑
- 2021-11-18 08:40
Jprofiler不能自动找到JVM是怎么回事
最佳答案
- 五星知识达人网友:十鸦
- 2021-11-18 09:06
参考:
第一种、本地程序由jprofiler来引导程序启动,
第二种、在客户端远程监控服务端的CS模式,必须在客户端和服务端都安装jprofiler,服务端需要在环境变量里加入LD_LIBRARY_PATH 值为JProfiler 的库文件所在路径,比如 $JPROFILER_HOME/bin/linux-x86,然后将服务端的启动脚本考到客户端上,在客户端配置时有一步选择这个脚本(locate the start script),jprofiler会给脚本添加一些自己的配置,然后服务端使用jprofiler改好的这个脚本启动,这时候是不会真正启动的,他在等待客户端的触发,客户端jprofiler再启动的时候就可以锭常赤端俦得稠全椽户远程监控到服务端jvm了。本地的程序的话按照向导就很容易做了。
分析:
1、揣测、在Memory Views这个页面右键点击比较有可能出现泄漏的类,然后add selection to class tracker。有几项最常出现泄漏的最好加进来:String,char[],HashMap的entry,以及用过滤器通过包名筛选出自己的项目里用到的类
2、跟踪、经过过一段时间后,查看memeory views里的class tracker的tab页,可以看到对象数量在这一段时间内的记录,如果有增长过快、或持续增长而不释放的则会造成泄漏
3、追溯、定位了这个类后再就看一下是谁引用他导致内存没有释放,在heap walker里,找到刚才的class,右键它查看他的引用references,针对可能出现问题的类进行源码浏览、确定根源在哪里
第一种、本地程序由jprofiler来引导程序启动,
第二种、在客户端远程监控服务端的CS模式,必须在客户端和服务端都安装jprofiler,服务端需要在环境变量里加入LD_LIBRARY_PATH 值为JProfiler 的库文件所在路径,比如 $JPROFILER_HOME/bin/linux-x86,然后将服务端的启动脚本考到客户端上,在客户端配置时有一步选择这个脚本(locate the start script),jprofiler会给脚本添加一些自己的配置,然后服务端使用jprofiler改好的这个脚本启动,这时候是不会真正启动的,他在等待客户端的触发,客户端jprofiler再启动的时候就可以锭常赤端俦得稠全椽户远程监控到服务端jvm了。本地的程序的话按照向导就很容易做了。
分析:
1、揣测、在Memory Views这个页面右键点击比较有可能出现泄漏的类,然后add selection to class tracker。有几项最常出现泄漏的最好加进来:String,char[],HashMap的entry,以及用过滤器通过包名筛选出自己的项目里用到的类
2、跟踪、经过过一段时间后,查看memeory views里的class tracker的tab页,可以看到对象数量在这一段时间内的记录,如果有增长过快、或持续增长而不释放的则会造成泄漏
3、追溯、定位了这个类后再就看一下是谁引用他导致内存没有释放,在heap walker里,找到刚才的class,右键它查看他的引用references,针对可能出现问题的类进行源码浏览、确定根源在哪里
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯