我们有几个java应用程序,它们使用Tankui的java服务包装器作为Windows服务运行。当机器启动时(前30秒),我们的客户遇到了可伸缩性问题。
传统上,我们使用j控制台/ Virtual来监视Java虚拟机的运行情况。但是,在机器启动期间,这些工具对于捕获java.exe性能不是很好。
我搜索了一个答案,我发现最好的搜索结果是一篇题为“测量Java启动时间”的论文,但他们求助于用JNI调用informatics/pdf/INFOL073.pdf来检测应用程序。我们更喜欢一种较小的侵入性方法。
什么是一个好的外部工具或技术,能够捕获java.exe统计数据(线程计数、堆使用等)在机器启动的时候?
@djmorton要求定义可伸缩性问题。问题是,当应用程序监视100个系统对象时,一切都很好。但是当数据增加到1,000个系统对象时
发布于 2015-03-11 17:07:18
最后我们在离线模式下使用了JProfiler。JProfiler允许您基于JVM启动设置触发器。JProfiler允许我们在Java服务启动期间获取各种JVM遥测数据,如线程计数、加上Java争用、线程转储等。
我们必须解决一个Windows文件权限问题。JProfiler想要创建一个临时文件,但是在这个环境中,JProfiler使用LocalSystem帐户在LocalSystem服务中运行。所做的工作是将服务临时设置为以管理员的身份运行。
https://stackoverflow.com/questions/28972565
复制相似问题