0

我想做的是将石英的力量与 jvmti 结合起来。基本上,我的计划是使用 jvmti 来监控内存使用情况,并基于此我将根据使用石英的优先级在 que 上启动/执行进程。我希望每个进程都以 this-process-will-execute-this-amount-of-timeslice 方法完成,以防止无响应并能够处理所有传入的 java 进程,如 Web 请求。

我还没有在任何地方找到关于这个主题的教程(我能找到的教程很少,但对于像我这样的菜鸟来说还不够),这是 c 编程和 java 编程的结合。我目前拥有的是带有 c/c++ 插件的 netbeans ide,虽然我还没有完成 mingw 的安装,但我认为我可以处理这个问题,而且还有来自 orasun 的 jvmti 参考资料。

你们能指导我该怎么做吗?工具?参考资料?我可以查看/结帐的现有类似项目?我只是想加快这个速度,如果这里有人有类似的经历,会分享她/他的经历。

干杯!

4

1 回答 1

2

在我继续编写 jvmti 代理的过程中,我遇到了这个问题:

当我使用 java -agentpath:c:\path\to\agentlibdll\agentlib.dll javaclass 执行我的代理时

提示说“找不到 Agent_OnLoad”。我搜索了线索(我总是这样做)并找到了我必须链接在一起的信息,结果是在构建代理 dll 时应该存在的参数(我正在使用 Windows OS、netbeans IDE、mingw、msys)

我应该添加这一行:

-D_JNI_IMPLEMENTATION_ -g -fno-strict-aliasing -fno-omit-frame-pointer -W -Wall -Wno-unused -Wno-括号 -I。-共享

项目属性(右键单击)>构建> c和c ++编译器>附加选项

我的命令行如下所示:

gcc -D_JNI_IMPLEMENTATION_ -g -fno-strict-aliasing -fno-omit-frame-pointer -W -Wall -Wno-unused -Wno-括号 -I。-shared -shared -o dist/Debug/MinGW-Windows/libjvmticallbackc.dll build/Debug/MinGW-Windows/jvmticallbackc.o -L../../jdk.1.7.0/lib -ljawt -ljvm

我只是想我应该分享我的发现。

于 2011-12-22T01:48:23.453 回答