2013-10-29 103 views
0

我尝试运行nvvp在命令行nvvp在命令行

nvvp ./my_app 

剖析CUDA代码,但,我获得以下错误

Error occurred during initialization of VM 
Could not reserve enough space for object heap 
Could not create the Java virtual machine. 

我明白的问题是用java无法分配足够的堆来运行应用程序。根据我了解的SO这个问题(和其他地方的互联网)我尝试以下

java -Xmx128m nvvp ./myapp 

它没有解决我的问题,我得到以下信息

Exception in thread "main" java.lang.NoClassDefFoundError: nvvp 
Caused by: java.lang.ClassNotFoundException: nvvp 
at java.net.URLClassLoader$1.run(URLClassLoader.java:217) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:205) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:319) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:264) 
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:332) 
Could not find the main class: nvvp. Program will exit. 
+0

你用什么操作系统,什么是工具包的版本?在没有任何参数的情况下运行Visual Profiler时,是否会看到相同的错误? – Eugene

回答

2

这也是继该在我的情况

SETENV _JAVA_OPTIONS“-Xms512m -Xmx1024m”

不过工作,_JAVA_OPTIONS貌似可以有多个名字在不同的系统,从而找到正确的e在使用之前。它显示以下,虽然它已经拿起正确的变量

nvvp ./cb_dgemm_prof 
Picked up _JAVA_OPTIONS: -Xms512m -Xmx1024m 

如果变量设置不正确,您可能看不到上面的行。

0

此消息表明JVM无法为操作系统的堆分配足够的内存,-Xmx/-Xms在这种情况下不起作用。

请回答我的评论贴,所以我们可以发现是什么原因造成这个问题的问题...