我尝试使用Instrumentation
来计算Web应用程序中多个对象的内存使用情况(确切地说是基于请求)。
不幸的是,似乎WebLogic没有插入静态空premain
或agentmain
。
为了完成,这里是Intrumentation实例化类:
public class InstrumentationInstance {
private static Instrumentation instrumentation;
public static void premain(String args, Instrumentation ins){
instrumentation = ins;
}
public static void agentmain(String args, Instrumentation ins){
instrumentation = ins;
}
public static Instrumentation instrumentation(){
return instrumentation;
}
}
我已尝试将这些添加到清单中,但Instrumentation
仍然为空:
Manifest-Version: 1.0
Premain-Class: com.things.monitoring.InstrumentationInstance
Agent-Class: com.things.monitoring.InstrumentationInstance
Class-Path:
阅读它看起来需要使用java选项-javaagent
启动此应用程序,以便注意premain
和agentmain
方法。我认为这将在web.xml
/ weblogic.xml
文件中完成?但我似乎无法找到任何关于如何......的例子或证据。
答案 0 :(得分:1)
您有几个选择:
将-javaagent
添加到startWebLogic.sh
部分的JAVA_OPTIONS
脚本中。请注意,这将适用于所有服务器
将-javaagent
添加到管理控制台中的服务器启动参数。导航至Servers -> Server Name -> Configuration -> Server Start tab
并修改Arguments
部分。你也可以在这里添加其他参数,memory args,-D args等。
这link也很好地涵盖了它。我认为这不应该放在你的weblogic.xml文件中。