gpt4 book ai didi

java - 在 JNI 方法中的 GetStringUTFChars 期间,java 中出现内存不足错误,其中包含垃圾字符大小

转载 作者:行者123 更新时间:2023-12-01 14:05:10 29 4
gpt4 key购买 nike

在JNI调用期间,我一直遇到这个问题

"Detailed error: #,# There is insufficient memory for the Java Runtime Environment to continue.,# Native memory allocation (malloc) failed to allocate 18446744073203188961 bytes for GetStringUTFChars,# ".

我已经验证 GetStringUTFChars 读取的变量只有 3 个字符长,因此我确信这是 JNI 抛出的错误中提供的垃圾值。我尝试将 Xms 和 Xmx 增加到 512m 到 6g,但是没有帮助。

来自 JVM 的堆栈跟踪是:

Current thread (0x000000004bef4800): JavaThread "main" [_thread_in_vm, id=638, stack(0x0000000040a9b000,0x0000000040b9c000)]

Stack: [0x0000000040a9b000,0x0000000040b9c000], sp=0x0000000040b9a840, free space=1022k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.so+0x861275] VMError::report_and_die()+0x265 V [libjvm.so+0x3e5668] report_vm_out_of_memory(char const*, int, unsigned long, char const*)+0x68 V [libjvm.so+0x511450] unsigned+0x210 . .

知道我们如何诊断这里的主要问题吗?感谢您的帮助!

最佳答案

如果您的环境支持,请将 -verbose:jni 传递给 java。如果您的 JVM 支持,请将 -Xcheck:jni 传递给 java。要查看支持的内容,请转至 java -helpjava -X -help

关于java - 在 JNI 方法中的 GetStringUTFChars 期间,java 中出现内存不足错误,其中包含垃圾字符大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18959168/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com