我想查看在我的 Windows XP 安装中有多少内存分配给了我的 Java JVM。我正在运行一个可执行 jar,它有一个主类,它通过使用 System.loadLibrary("SampleJni") 加载的 dll 对 C 库进行一些 JNI 调用。有些电话有效,有些则无效。每当传递了多个字符串参数时,我都会得到一个系统转储。如果我只有一个字符串、一个整数、两个整数等,就不会崩溃。该机器只有 .99 GB 的内存,所以我认为 JVM 无法分配所需的内存。
最佳答案
使用 jconsole 检查程序使用的内存。 Jconsole 随 JDK 一起提供,因此您已经拥有它。此内存不包括 JNI C 代码使用的内存,但它会告诉您 Java 使用的内存。您更有可能的罪魁祸首是在使用多个参数时 JNI 映射不正确。
关于java - 检查 Windows XP 上的 Java JVM 内存限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8751755/