Briefly, this error occurs when you’re using a version of Java Development Kit (JDK) that doesn’t support thread allocated memory. Elasticsearch uses this feature for better performance and memory management. To resolve this issue, you can upgrade your JDK to a version that supports thread allocated memory. Alternatively, you can disable the use of thread allocated memory in Elasticsearch, but this may impact performance. Lastly, ensure that your Elasticsearch and JDK versions are compatible.
This guide will help you check for common problems that cause the log ” thread allocated memory is not supported on this JDK ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: thread, monitor, memory.
Log Context
Log “thread allocated memory is not supported on this JDK” class name is HotThreads.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :
if (threadBean.isThreadCpuTimeSupported() == false) { throw new ElasticsearchException("thread CPU time is not supported on this JDK"); } if (type == ReportType.MEM && sunThreadInfo.isThreadAllocatedMemorySupported() == false) { throw new ElasticsearchException("thread allocated memory is not supported on this JDK"); } // Enabling thread contention monitoring is required for capturing JVM thread wait/blocked times. If we weren't // able to enable this functionality during bootstrap; we should not produce HotThreads reports. if (isThreadWaitBlockTimeMonitoringEnabled(threadBean) == false) {