[英]JNI JVM in c++ not able to use allotted heap memory
i am calling java code in c++ using jni ,i alloted 60GB as max heap memory ,but while running its using less memory because of that its taking much time .
我正在使用Windows7 OS,VS2008。
我使用控制台运行Java的方法相同,它正在使用分配的内存,并且请快速执行操作,请您帮帮我。
更新说明:
我们有一个内存密集型Java应用程序,我们通过以下两种方法进行了尝试。
1.从使用JNI的c ++应用程序获取。
2.直接通过命令提示符执行。
在这两种情况下,我们都为jvm分配了60GB的堆内存大小。 我们发现上述两种执行方法之间存在以下差异。
1.使用JNI的c ++应用程序可达到40GB内存(执行缓慢)
2.通过命令提示符执行可达到约60GB内存(快速执行)
内存使用差异的原因可能是什么?
JavaVMInitArgs vm_args;
JavaVMOption options[3];
options[0].optionString = "-Djava.class.path=c:\\Application\\bin-7.0\\morpher\\app.jar;";
options[1].optionString = "-Xms1024m";
options[2].optionString = "-Xmx50000m";
vm_args.version = JNI_VERSION_1_6;
vm_args.nOptions = 3;
vm_args.options = options;
vm_args.ignoreUnrecognized = 0;
JNI_GetDefaultJavaVMInitArgs(&vm_args);
int ret = JNI_CreateJavaVM(jvm, (void**)&env, &vm_args);
用这种方式回答您的问题是不可能的,但我可以告诉您。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.