Недостаточно памяти для Java Runtime Environment, чтобы продолжить работу в Tomcat



Я новичок в tomcat / tech, поэтому мне жаль, если я делаю какие-либо ошибки в описании проблемы.



Я пытаюсь запустить приложение dashboarding, DOMO на нашем тестовом сервере. Мы используем tomcat для запуска приложения уже десять лет, и обычно все работает нормально. Недавно, когда я попытался запустить приложение, оно не работало. Я очистил рабочий каталог и снова попытался запустить tomcat. Ничего не работало, и журнал приложений для DOMO (инструмент dashboarding) дал следующее Ошибка:



Caused by: java.io.IOException: Insufficient system resources exist to complete the requested service
at java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.io.Win32FileSystem.canonicalize(Unknown Source)
at java.io.File.getCanonicalPath(Unknown Source)
at org.apache.lucene.store.FSDirectory.getDirectory(FSDirectory.java:168)
at org.apache.lucene.store.FSDirectory.getDirectory(FSDirectory.java:139)
at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:951)
... 14 more


Журнал системных ошибок выглядел следующим образом:



# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 32744 bytes for ChunkPool::allocate
# Possible reasons:
# The system is out of physical RAM or swap space
# In 32 bit mode, the process size limit was hit
# Possible solutions:
# Reduce memory load on the system
# Increase physical memory or swap space
# Check if swap backing store is full
# Use 64 bit Java on a 64 bit OS
# Decrease Java heap size (-Xmx/-Xms)
# Decrease number of Java threads
# Decrease Java thread stack sizes (-Xss)
# Set larger code cache with -XX:ReservedCodeCacheSize=
# This output file may be truncated or incomplete.
#
# Out of Memory Error (allocation.cpp:211), pid=3828, tid=2012
#
# JRE version: 6.0_31-b05
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.6-b01 mixed mode windows-amd64 compressed oops)

--------------- T H R E A D ---------------

Current thread (0x000000000db09000): JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=2012, stack(0x000000000dc80000,0x000000000dcc0000)]

Stack: [0x000000000dc80000,0x000000000dcc0000]

Current CompileTask:
C2: 8590 207 ! org.apache.catalina.loader.WebappClassLoader.findResourceInternal(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/catalina/loader/ResourceEntry; (1260 bytes)


--------------- P R O C E S S ---------------

Java Threads: ( => current thread )
0x000000000ddee800 JavaThread "Thread-5" daemon [_thread_in_native, id=1272, stack(0x000000000fba0000,0x000000000fbe0000)]
0x000000000e843000 JavaThread "Thread-4" daemon [_thread_blocked, id=2396, stack(0x000000000fb60000,0x000000000fba0000)]
0x000000000e5dd000 JavaThread "HSQLDB Timer @3af7345b" daemon [_thread_blocked, id=1904, stack(0x000000000fb20000,0x000000000fb60000)]
0x000000000e980800 JavaThread "GC Daemon" daemon [_thread_blocked, id=1564, stack(0x000000000f990000,0x000000000f9d0000)]
0x000000000db51800 JavaThread "Thread-2" [_thread_in_native, id=1232, stack(0x000000000dd40000,0x000000000dd80000)]
0x000000000db15000 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=1520, stack(0x000000000dcc0000,0x000000000dd00000)]
=>0x000000000db09000 JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=2012, stack(0x000000000dc80000,0x000000000dcc0000)]
0x000000000daf1800 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=4880, stack(0x000000000dc40000,0x000000000dc80000)]
0x000000000daec000 JavaThread "Attach Listener" daemon [_thread_blocked, id=3120, stack(0x000000000d9e0000,0x000000000da20000)]
0x000000000dae7000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=4668, stack(0x000000000d9a0000,0x000000000d9e0000)]
0x000000000dae5000 JavaThread "Surrogate Locker Thread (Concurrent GC)" daemon [_thread_blocked, id=4304, stack(0x000000000d960000,0x000000000d9a0000)]
0x000000000da92000 JavaThread "Finalizer" daemon [_thread_blocked, id=2856, stack(0x000000000d920000,0x000000000d960000)]
0x000000000da8b800 JavaThread "Reference Handler" daemon [_thread_blocked, id=1628, stack(0x000000000d8e0000,0x000000000d920000)]
0x00000000002bc800 JavaThread "main" [_thread_in_native, id=3176, stack(0x00000000003c0000,0x0000000000400000)]

Other Threads:
0x000000000da83800 VMThread [stack: 0x000000000d8a0000,0x000000000d8e0000] [id=3136]
0x000000000db1f000 WatcherThread [stack: 0x000000000dd00000,0x000000000dd40000] [id=5084]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
par new generation total 19136K, used 16270K [0x000000069e400000, 0x000000069f8c0000, 0x00000006a0d90000)
eden space 17024K, 83% used [0x000000069e400000, 0x000000069f1d3bf8, 0x000000069f4a0000)
from space 2112K, 100% used [0x000000069f6b0000, 0x000000069f8c0000, 0x000000069f8c0000)
to space 2112K, 0% used [0x000000069f4a0000, 0x000000069f4a0000, 0x000000069f6b0000)
concurrent mark-sweep generation total 2075904K, used 3163K [0x00000006a0d90000, 0x000000071f8d0000, 0x00000007f6000000)
concurrent-mark-sweep perm gen total 21440K, used 21277K [0x00000007f6000000, 0x00000007f74f0000, 0x0000000800000000)

Code Cache [0x0000000000c90000, 0x0000000000f00000, 0x0000000003c90000)
total_blobs=526 nmethods=224 adapters=255 free_code_cache=49072960 largest_free_block=16512

Dynamic libraries:
0x0000000000400000 - 0x0000000000416000 c:Tomcat-6.0.26bintomcat6.exe
0x0000000077080000 - 0x0000000077229000 C:WindowsSYSTEM32ntdll.dll
0x0000000076f60000 - 0x000000007707f000 C:Windowssystem32kernel32.dll
0x000007fefcf30000 - 0x000007fefcf9b000 C:Windowssystem32KERNELBASE.dll
0x0000000076e60000 - 0x0000000076f5a000 C:Windowssystem32USER32.dll
0x000007fefe350000 - 0x000007fefe3b7000 C:Windowssystem32GDI32.dll
0x000007fefd680000 - 0x000007fefd68e000 C:Windowssystem32LPK.dll
0x000007fefd6f0000 - 0x000007fefd7b9000 C:Windowssystem32USP10.dll
0x000007fefe2b0000 - 0x000007fefe34f000 C:Windowssystem32msvcrt.dll
0x000007fefe520000 - 0x000007fefe5fb000 C:Windowssystem32ADVAPI32.dll
0x000007fefe110000 - 0x000007fefe12f000 C:WindowsSYSTEM32sechost.dll
0x000007fefd7c0000 - 0x000007fefd8ed000 C:Windowssystem32RPCRT4.dll
0x000007fefe600000 - 0x000007feff388000 C:Windowssystem32SHELL32.dll
0x000007fefdfc0000 - 0x000007fefe031000 C:Windowssystem32SHLWAPI.dll
0x000007fefdad0000 - 0x000007fefdafe000 C:Windowssystem32IMM32.DLL
0x000007fefd330000 - 0x000007fefd439000 C:Windowssystem32MSCTF.dll
0x000000006d800000 - 0x000000006dfb8000 C:Program FilesJavajre6binserverjvm.dll
0x000007fef9f50000 - 0x000007fef9f8b000 C:Windowssystem32WINMM.dll
0x000000006d770000 - 0x000000006d77e000 C:Program FilesJavajre6binverify.dll
0x000000006d3b0000 - 0x000000006d3d7000 C:Program FilesJavajre6binjava.dll
0x000000006d7c0000 - 0x000000006d7d2000 C:Program FilesJavajre6binzip.dll
0x000007fefdb20000 - 0x000007fefdd23000 C:Windowssystem32ole32.dll
0x000000006d550000 - 0x000000006d55a000 C:Program FilesJavajre6binmanagement.dll
0x0000000010000000 - 0x0000000010124000 C:Tomcat-6.0.26bintcnative-1.dll
0x0000000077240000 - 0x0000000077247000 C:Windowssystem32PSAPI.DLL
0x000007fefe0c0000 - 0x000007fefe10d000 C:Windowssystem32WS2_32.dll
0x000007fefd440000 - 0x000007fefd448000 C:Windowssystem32NSI.dll
0x000007fefc660000 - 0x000007fefc6b5000 C:Windowssystem32MSWSOCK.dll
0x000007fefc7f0000 - 0x000007fefc807000 C:Windowssystem32CRYPTSP.dll
0x000007fefc3d0000 - 0x000007fefc417000 C:Windowssystem32rsaenh.dll
0x000007fefcd50000 - 0x000007fefcd5f000 C:Windowssystem32CRYPTBASE.dll
0x000007fefc070000 - 0x000007fefc077000 C:WindowsSystem32wshtcpip.dll
0x000000006d610000 - 0x000000006d627000 C:Program FilesJavajre6binnet.dll
0x000007fefc7e0000 - 0x000007fefc7e7000 C:WindowsSystem32wship6.dll
0x000007fefbbd0000 - 0x000007fefbbe5000 C:Windowssystem32NLAapi.dll
0x000007fef8a90000 - 0x000007fef8aa5000 C:Windowssystem32napinsp.dll
0x000007fefc4f0000 - 0x000007fefc54b000 C:Windowssystem32DNSAPI.dll
0x000007fef8a80000 - 0x000007fef8a8b000 C:WindowsSystem32winrnr.dll
0x000007fefb2e0000 - 0x000007fefb307000 C:Windowssystem32IPHLPAPI.DLL
0x000007fefb2d0000 - 0x000007fefb2db000 C:Windowssystem32WINNSI.DLL
0x000007fef8e60000 - 0x000007fef8e68000 C:Windowssystem32rasadhlp.dll
0x000007fefb140000 - 0x000007fefb193000 C:WindowsSystem32fwpuclnt.dll
0x000007fefce60000 - 0x000007fefce6f000 C:Windowssystem32profapi.dll

VM Arguments:
jvm_args: -Dcatalina.base=c:Tomcat-6.0.26 -Dcatalina.home=c:Tomcat-6.0.26 -Djava.endorsed.dirs=c:Tomcat-6.0.26endorsed -Djava.io.tmpdir=c:Tomcat-6.0.26temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=c:Tomcat-6.0.26conflogging.properties -Djava.security.auth.login.config=C:/adconf/bscLogin.conf -Djava.security.krb5.conf=C:/adconf/krb5.ini -XX:MaxPermSize=160m -XX:+UseConcMarkSweepGC -XX:+DisableExplicitGC -Dsun.rmi.dgc.client.gcInterval=360000 -Dsun.rmi.dgc.server.gcInterval=360000 vfprintf -Xms2048m -Xmx5500m
java_command: <unknown>
Launcher Type: generic

Environment Variables:
JAVA_HOME=C:Program FilesJavajdk1.6.0_31bin
CLASSPATH=C:DomoCenterView5ServerdomoWEB-INFlibsqljdbc4.jar
PATH=C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:WindowsSystem32WindowsPowerShellv1.0;
USERNAME=BIDASH-DEV-APP$
OS=Windows_NT
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 23 Stepping 6, GenuineIntel



--------------- S Y S T E M ---------------

OS: Windows NT 6.1 , 64 bit Build 7601 Service Pack 1

CPU:total 2 (1 cores per cpu, 1 threads per core) family 6 model 23 stepping 6, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1

Memory: 4k page, physical 8388152k(2153192k free), swap 33550744k(5136k free)

vm_info: Java HotSpot(TM) 64-Bit Server VM (20.6-b01) for windows-amd64 JRE (1.6.0_31-b05), built on Feb 3 2012 18:34:57 by "java_re" with MS VC++ 8.0 (VS2005)

time: Mon Jun 01 09:44:40 2015
elapsed time: 8 seconds


Я прочитал много сообщений по смежным темам, но так как у меня есть приложение, работающее в течение последнего десятилетия, эта проблема, внезапно возникшая, кажется мне очень странной. Кроме того, эта среда похожа на тестовый сервер, и в настоящее время я единственный, кто использует ее для панелей мониторинга. Следовательно, возможность увеличения нагрузки на систему кажется неправильной, как и возможность утечки памяти.



Может ли кто-нибудь направлять что могло пойти не так в этой ситуации?



Спасибо!



EDIT: я думаю, что моя проблема заключается в другом, так как это не какой-то новый Чак памяти, который должен быть выделен, а операция chuckpool:: allocate, которая внезапно перестала работать, хотя на сервере не было введено никакой новой нагрузки.

890   1  

1 ответ:

Каков минимальный и максимальный размер кучи для JVM? Ошибка нехватки памяти возникла из-за нехватки памяти для кучи JVM. Что такое ОС с Tomcat? Это 32-битная ОС? Кроме того, что такое оперативная память в системе?

32-битная ОС с, скажем, 4 ГБ или выше ОЗУ, максимальный размер кучи JVM может быть только 1,5 ГБ. Таким образом, настройка максимального и минимального размера кучи памяти до 1,5 ГБ может облегчить проблему. Так как вы уверены, что нет утечки памяти, вы должны посмотреть на правильный выбор типа сборщика GC для вашего приложения-это пропускная способность на основе GC или другой (параллельной и т. д.)и оптимизация времени паузы и коллекций. Это позволит JVM иметь достаточно места для выделения новых объектов и не исчерпывать память.

Comments

    Ничего не найдено.