为什么 java 本机内存跟踪中 Apache IoTDB 的内部内存太高?
Why Apache IoTDB's Internal memory in java Native Memory Tracking is too high?
当我对IoTDB 进行本机内存跟踪时,我发现内部内存部分这么高?我不知道这是否正常,实际上我不知道这部分内存是做什么用的?
java中的内部内存部分本机内存跟踪占用太多内存可能是由堆外内存(如 DirectByteBuffer)引起的。在 IoTDB 中,我们确实使用 FileChannel 来做本身使用 DirectByteBuffer 的 io 东西,我们还在 conf/iotdb-env.sh
中限制了它
-XX:MaxDirectMemorySize=${MAX_DIRECT_MEMORY_SIZE}
所以应该是正常的,不用担心。
以上说法可以https://gist.github.com/prasanthj/48e7063cac88eb396bc9961fb3149b58验证。
当我对IoTDB 进行本机内存跟踪时,我发现内部内存部分这么高?我不知道这是否正常,实际上我不知道这部分内存是做什么用的?
java中的内部内存部分本机内存跟踪占用太多内存可能是由堆外内存(如 DirectByteBuffer)引起的。在 IoTDB 中,我们确实使用 FileChannel 来做本身使用 DirectByteBuffer 的 io 东西,我们还在 conf/iotdb-env.sh
-XX:MaxDirectMemorySize=${MAX_DIRECT_MEMORY_SIZE}
所以应该是正常的,不用担心。
以上说法可以https://gist.github.com/prasanthj/48e7063cac88eb396bc9961fb3149b58验证。