我正在使用java“1.6.0_24”OpenJDK。有时当我运行我的程序时,我所得到的只是一条消息无法创建Java VM ---我如何获得更详细的错误消息?
Could not create the Java virtual machine.".
某些其他时候,程序运行得很好。
是否有一些选项可以添加以获得更详细的输出,以确切的错误(甚至可能类似于核心转储?)。
这可能不是因为在这种情况下,相关的堆大小,它确实给一个明确而清晰的错误信息,如: -
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
这我能解决与设置-Xms和-Xmx适当。但是,JVM退出而不打印任何其他内容是非常无益的。
为了澄清,我的问题是关于哄更多详细的错误消息或某种状态文件/核心转储,然后我可以使用它进行调试。
那么我有一台64 GB RAM的机器,我将-Xms设置为100M。虽然这台机器是集群的一部分,但可用内存通常大约为16GB(我通过在独立终端上运行顶部来验证)。同样的问题也是如此...(我有其他机器内存少得多,这就是为什么我设置-Xms为100M来解决_that_问题) – owagh
我不确定什么可以比这更详细。内存分配是JVM初始化的第一件事情之一。显然,你的问题来自-Xmx而不是-Xms参数。 JVM在初始化时将堆分配给最大大小。您的最高限额太高。在32位JVM上,你只能使用不超过1.5GB – gigadot