草庐IT

profiling

全部标签

java - Time Profiler、Instruments、OS X 中缺少 JAVA 过程名称

我正在使用Java编写算法实现。在OSX10.7之前,我使用SharkProfiler来分析我的实现,效果相当好。但是,新的Instruments不再找到过程名称。我已经尝试使用shark的VM参数(即-agentlib:Shark)运行java应用程序,但是10.7不知道它们,而且我找不到这样的仪器agentlib。关于如何将过程名称附加到Insturments中的符号名称(这是一些十六进制数字)的任何想法?我正在使用EclipseIndigo,如果这有什么不同的话。谢谢!编辑:到目前为止,OSXMountainLion没有任何变化。编辑#2:来自(?)开发人员通过apple的错误报

java - 在 spring boot 中使用@Profile

我有springboot应用程序(1.1.5.RELEASE)并通过配置属性启用我的配置文件spring.profiles.active=MyProfile配置文件被正确激活,我可以从正在创建的配置文件中看到bean。然后我有一个@Controller用法如下:@Controller@RequestMapping("/someUrl")@Profile("MyProfile")publicclassMyController{...}此Controller未实例化,Controller中使用的URL未映射。在同一个包中,我有另一个不受@Profile限制的Controller,它们会按预

java - 是否有可用于 jvisualvm 或 NetBeans 分析器的调用 TreeView ?

JProfiler提供实时调用TreeView,因此您可以实时查看正在使用CPU的内容并深入了解详细信息。随时将计数重置为零,冲洗,重复。我目前没有那个工具,并试图通过免费/开放的替代品来度过难关。jvisualvm和NetBeans分析器具有静态快照调用树和实时平面View。似乎可以推断会有一个可用的实时调用TreeView(或作为插件),但我似乎找不到。这种功能是否仅在商业分析器中可用?谢谢。 最佳答案 如果您在分析CPU使用率后点击Sampler或Profiler窗口中的“快照”按钮,它会向您显示一个调用树,其中包含每个方法的

java - Spring Boot 使用 Spring Profile 忽略来自 Java 配置类的 bean

当我使用经典上下文加载在Eclipse上运行我的应用程序时,不用担心,与所选Spring配置文件相对应的配置类上定义的beans已正确实例化。publicclassBasketHandlerLoader{publicstaticvoidmain(String[]args)throwsException{@SuppressWarnings("resource")ClassPathXmlApplicationContextcontext=newClassPathXmlApplicationContext("classpath:config/spring/spring-archibald-b

java - 如何将 JProfiler 连接到在本地主机上运行的应用程序?

我有一个应用程序在我的本地主机上运行,​​我想分析该应用程序以了解如何提高该应用程序的性能。我正在按照定义执行设置步骤,但它无法连接到本地主机服务器,是否有关于如何执行以下操作的正确分步指南:配置JProfiler以与在本地主机上运行的应用程序一起工作?如何分析以及在分析应用程序时要寻找哪些区域?使用EclipseIDE配置JProfiler,现在我可以在Eclipse的运行下拉列表中看到配置文件,但它们未激活,那么如何激活它?我遇到了与此question类似的问题但我无法理解解决方案,对此有任何建议将不胜感激。我已经尝试了一段时间,但在配置JProfiler以与在本地主机上运行的应用

java - 如何测量线程堆栈深度?

我有一个具有可扩展性问题的32位Java服务:由于用户数过多,我们会因为线程数过多而耗尽内存。从长远来看,我计划切换到64位并降低每用户线程的比率。在短期内,我想减少堆栈大小(-Xss,-XX:ThreadStackSize)以获得更多的空间。但这是有风险的,因为如果我把它弄得太小,我就会得到StackOverflowErrors。如何测量应用程序的平均和最大堆栈大小以指导我决定最佳-Xss值?我对两种可能的方法感兴趣:在集成测试期间测量正在运行的JVM。哪些分析工具会报告最大堆栈深度?寻找深层调用层次结构的应用程序的静态分析。依赖注入(inject)中的反射使得这不太可能奏效。更新:

java - Java 应用程序中已加载类的数量可能存在内存泄漏

我最近开始分析我使用VisualVM编写的osgijava应用程序。我注意到的一件事是,当应用程序开始向客户端发送数据(通过JMS)时,加载的类的数量开始以稳定的速度增加。但是,堆大小和PermGen大小保持不变。类的数量永远不会下降,即使在它停止发送数据之后也是如此。这是内存泄漏吗?我认为是的,因为加载的类必须存储在某个地方,但是即使我运行应用程序几个小时后堆和permgen也不会增加。要获取我的分析应用程序的屏幕截图,请转到here 最佳答案 Areyoudynamicallycreatingnewclassesonthefly

java - 无法将 VisualVM 探查器与 Maven Jetty 插件一起使用

我正在尝试分析使用mvnjetty:run和VisualVM1.3.6执行的Java7应用程序。CPU显示为不可用,并且配置文件选项卡列出以下错误:WARNING!ClasssharingisenabledforthisJVM.Thiscancauseproblemswhenprofilingtheapplicationandeventuallymaycrashit.PleaseseetheVisualVMTroubleshootingGuideformoreinformationandstepstofixtheproblem:https://visualvm.java.net/tro

java - 找到用死 Groovy 代码填充 PermGen 的代码

我们的glassfish实例每两周关闭一次,并出现java.lang.OutOfMemoryError:PermGenspace。我将PermGen空间增加到512MB,并使用jstat-gc开始转储内存使用情况。两周后,我得出了下图,显示了PermGen空间是如何稳步增长的(x轴上的单位是分钟,y轴上的单位是KB)。我尝试在谷歌上搜索某种可以查明错误的分析工具和一个关于SO提到的jmap的线程,事实证明它非常有用。在从jmap-permstats$PID转储的大约14000行中,大约有12500行包含groovy/lang/GroovyClassLoader$InnerLoader,

java - 分析通过 JNI 调用运行的 Java

我有一个C++代码,在执行时:加载JVM(我完全控制如何加载JVM),并使用CJNI代码调用Java方法(从加载的类)。Java代码没有Main(),它实际上不是标准的Java应用程序。主要是编译压缩成Jar文件的静态代码,由C++模块调用。是否可以分析由YourKit执行的Java代码(有许可证)?如果是这样,我会很高兴知道如何做。 最佳答案 我会把它丢给希望分析Java的C++人员:Java有一个很棒的可视化分析器,它可以自动连接到称为VisualVM的JVM。它包含在jdk中。在这里查看:http://visualvm.jav