我尝试在命令行中运行nvvp来分析cuda代码。
nvvp ./my_app但是,我得到了跟随错误
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.发布于 2013-10-29 16:03:58
这是在我的案例中起作用的
setenv _JAVA_OPTIONS "-Xms512m -Xmx1024m“
然而,_JAVA_OPTIONS似乎可以在不同的系统中有多个名称,因此在使用它之前找到正确的名称。它在提取正确的变量时显示如下。
nvvp ./cb_dgemm_prof
Picked up _JAVA_OPTIONS: -Xms512m -Xmx1024m如果变量没有正确设置,您可能看不到上面的行。
发布于 2013-10-30 15:53:52
这条消息说JVM无法从OS为堆分配足够的内存,-Xmx/-Xmx在这种情况下不会有帮助。
请回答我在评论中提到的问题,这样我们就能找到造成这个问题的原因.
https://stackoverflow.com/questions/19663179
复制相似问题