wake-up-neo.com

der Arbeitsspeicher für die Java-Laufzeitumgebung ist jedoch nicht ausreichend RAM zeigt 6 GB freien Speicherplatz

Während der Ausführung der Java-Anwendung bekomme ich den folgenden Speicherabzug.

Nach der Installation von Java 8 (mit der Java 7-Anwendung funktionierte zuvor), wurde der unten abgebildete Fehler angezeigt.

Ich verwende 16 GB RAM und im Task-Manager, als ich überprüfte (während die Anwendung gestartet wurde) rund 6 GB RAM frei waren.

Könnte jemand bitte helfen, was könnte das Problem sein?

#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 472736 bytes for Chunk::new
# 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:390), pid=1104, tid=0x00000000000016ec
#
# JRE version: Java(TM) SE Runtime Environment (8.0_92-b14) (build 1.8.0_92-b14)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.92-b14 mixed mode windows-AMD64 compressed oops)
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#

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

---------------------------------------------------

Java Threads: ( => current thread )
  0x00000000232a8800 JavaThread "AWSessionMonitor Thread" daemon [_thread_blocked, id=14084, stack(0x0000000022b20000,0x0000000022c20000)]
  0x0000000028728800 JavaThread "Thread-3" [_thread_blocked, id=11332, stack(0x00000000210b0000,0x00000000211b0000)]
  0x00000000252a4800 JavaThread "Thread-2" [_thread_blocked, id=5272, stack(0x0000000020fb0000,0x00000000210b0000)]
  0x000000001e874000 JavaThread "SQLStatementMonitor" [_thread_blocked, id=1876, stack(0x0000000022620000,0x0000000022720000)]
  0x000000001de0d800 JavaThread "Thread-1" daemon [_thread_blocked, id=13052, stack(0x0000000022520000,0x0000000022620000)]
  0x000000001f7f8000 JavaThread "Session Timeout Thread" daemon [_thread_blocked, id=11088, stack(0x0000000022220000,0x0000000022320000)]
  0x0000000002c11800 JavaThread "DestroyJavaVM" [_thread_blocked, id=14168, stack(0x0000000002a00000,0x0000000002b00000)]
  0x000000001f32b800 JavaThread "Thread-0" [_thread_in_vm, id=10720, stack(0x0000000020bc0000,0x0000000020cc0000)]
  0x000000001fb3e800 JavaThread "Perf_Log_Traceplan-" daemon [_thread_blocked, id=2992, stack(0x0000000020ac0000,0x0000000020bc0000)]
  0x0000000020319800 JavaThread "Perf_Log_Traceperf-" daemon [_thread_blocked, id=6176, stack(0x00000000209c0000,0x0000000020ac0000)]
  0x000000001da8b000 JavaThread "Service Thread" daemon [_thread_blocked, id=9968, stack(0x000000001e020000,0x000000001e120000)]
  0x000000001da64000 JavaThread "C1 CompilerThread2" daemon [_thread_blocked, id=12708, stack(0x000000001df20000,0x000000001e020000)]
  0x000000001c13e000 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=10652, stack(0x000000001de20000,0x000000001df20000)]
=>0x000000001c128000 JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=5868, stack(0x000000001d920000,0x000000001da20000)]
  0x000000001c118000 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=12444, stack(0x000000001d820000,0x000000001d920000)]
  0x000000001c10c000 JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_in_native, id=2640, stack(0x000000001d720000,0x000000001d820000)]
  0x000000001c100800 JavaThread "Attach Listener" daemon [_thread_blocked, id=9952, stack(0x000000001d620000,0x000000001d720000)]
  0x000000001c0ff800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=13880, stack(0x000000001d520000,0x000000001d620000)]
  0x000000001c0e6000 JavaThread "Finalizer" daemon [_thread_blocked, id=7868, stack(0x000000001d340000,0x000000001d440000)]
  0x000000001c0bd000 JavaThread "Reference Handler" daemon [_thread_blocked, id=11580, stack(0x000000001d240000,0x000000001d340000)]

Other Threads:
  0x000000001c0b3800 VMThread [stack: 0x000000001d140000,0x000000001d240000] [id=12984]
  0x000000001db42800 WatcherThread [stack: 0x000000001e120000,0x000000001e220000] [id=9136]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap:
 PSYoungGen      total 524800K, used 42318K [0x000000076c580000, 0x000000078cf80000, 0x00000007c0000000)
  eden space 515584K, 8% used [0x000000076c580000,0x000000076eed3b10,0x000000078bd00000)
  from space 9216K, 0% used [0x000000078bd00000,0x000000078bd00000,0x000000078c600000)
  to   space 8704K, 0% used [0x000000078c600000,0x000000078c600000,0x000000078ce80000)
 ParOldGen       total 99328K, used 24647K [0x00000006c5000000, 0x00000006cb100000, 0x000000076c580000)
  object space 99328K, 24% used [0x00000006c5000000,0x00000006c6811d80,0x00000006cb100000)
 Metaspace       used 22833K, capacity 23012K, committed 23344K, reserved 1071104K
  class space    used 2715K, capacity 2786K, committed 2864K, reserved 1048576K

Card table byte_map: [0x00000000120c0000,0x00000000128a0000] byte_map_base: 0x000000000ea98000

Marking Bits: (ParMarkBitMap*) 0x0000000069bf64f0
 Begin Bits: [0x00000000131e0000, 0x00000000170a0000)
 End Bits:   [0x00000000170a0000, 0x000000001af60000)

Polling page: 0x00000000024b0000

CodeCache: size=245760Kb used=11544Kb max_used=11559Kb free=234215Kb
 bounds [0x0000000002d00000, 0x0000000003860000, 0x0000000011d00000]
 total_blobs=2659 nmethods=2233 adapters=346
 compilation: enabled

Compilation events (10 events):
Event: 191.393 Thread 0x000000001da64000 2532       3       org.Apache.xerces.util.XMLAttributesImpl::checkDuplicatesNS (278 bytes)
Event: 191.393 Thread 0x000000001c13e000 2535       4       org.Apache.xerces.impl.XMLEntityScanner::scanQName (510 bytes)
Event: 191.394 Thread 0x000000001da64000 nmethod 2532 0x0000000003825d10 code [0x0000000003825f60, 0x0000000003826d38]
Event: 191.394 Thread 0x000000001da64000 2530       3       org.Apache.xerces.impl.xs.opti.SchemaDOM::emptyElement (23 bytes)
Event: 191.394 Thread 0x000000001da64000 nmethod 2530 0x00000000037d66d0 code [0x00000000037d6840, 0x00000000037d6a98]
Event: 191.394 Thread 0x000000001da64000 2533       3       org.Apache.xerces.impl.xs.opti.SchemaDOM::startElement (29 bytes)
Event: 191.395 Thread 0x000000001da64000 nmethod 2533 0x00000000037fb4d0 code [0x00000000037fb640, 0x00000000037fb8b8]
Event: 191.395 Thread 0x000000001da64000 2534       3       org.Apache.xerces.impl.xs.opti.SchemaDOM::endElement (30 bytes)
Event: 191.395 Thread 0x000000001da64000 nmethod 2534 0x0000000003825750 code [0x00000000038258c0, 0x0000000003825b90]
Event: 191.423 Thread 0x000000001c13e000 nmethod 2535 0x000000000384fe10 code [0x0000000003850000, 0x0000000003850fe0]


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

OS: Windows 8.1 , 64 bit Build 9600 (6.3.9600.17415)

CPU:total 4 (2 cores per cpu, 2 threads per core) family 6 model 58 stepping 9, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, aes, clmul, erms, ht, tsc, tscinvbit, tscinv

Memory: 4k page, physical 16442864k(1810952k free), swap 19025808k(6260k free)

vm_info: Java HotSpot(TM) 64-Bit Server VM (25.92-b14) for windows-AMD64 JRE (1.8.0_92-b14), built on Mar 31 2016 21:03:04 by "Java_re" with MS VC++ 10.0 (VS2010)

time: Mon May 23 12:38:20 2016
elapsed time: 191 seconds (0d 0h 3m 11s)
5
user3305063

Java verwendet standardmäßig nicht den gesamten verfügbaren Speicher. Sie müssen die Anwendung mit den entsprechenden Parametern ausführen.

Siehe diese Frage zu allen Details. (Kann sich mit der Java-Version ändern). 

Die Parametereinstellung kann in der Befehlszeile festgelegt werden. Wenn Sie jedoch eine Anwendung verwenden, verfügen Sie möglicherweise über eine Konfigurationsdatei. In Eclipse haben Sie beispielsweise die Datei Eclipse.ini , in der Sie Ihre Speichereinstellungen festlegen können.

3
borjab

Einige Programme verwenden viel Speicher, z. B. Elasticsearch. Versuchen Sie, mehr Speicher hinzuzufügen, wenn Sie ein solches speicherintensives Programm verwenden

1
Yao Li

Ich habe ähnliche Speicherabbilder erhalten, als ich dieselbe Java-Anwendung unter Windows 10 und 8.1 (beide 64-Bit) ausgeführt habe.

Windows 8.1

32 GB RAM

i7-4790 3,60 GHz CPU

Größe der Auslagerungsdatei (fest, 14 GB)

Windows 10

16 GB RAM

i7-4790 3,60 GHz CPU

Größe der Auslagerungsdatei (automatisch verwaltet, anfänglich behoben, 14 GB) 

1. Ausgabe war das mit identischer Hardware (der Unterschied zwischen RAM nur und Betriebssystem), die Anwendung auf Windwos 10 stürzte fast augenblicklich ab. Das Überraschendste, das in Task-Manager Ich habe gesehen, dass nur 25% von RAM verwendet werden.

Nach der Suche nach Informationen in Google habe ich Folgendes festgestellt:

  1. Ich muss eine automatisch verwaltete Auslagerungsdatei für Windows 10 einrichten. 
  2. Windows 10 ist mit festgeschriebenem Speicher gieriger als frühere Versionen von Windows .

2. Ausgabe

Wie von @borjab erwähnt 

Java verwendet standardmäßig nicht den gesamten verfügbaren Speicher.

So erhalten Sie eine Hilfe zu nicht standardmäßigen Optionen für Java in Ihrer CMD:

Java -X

Ausgabe:

-Xms<size>        set initial Java heap size
-Xmx<size>        set maximum Java heap size

<size> kann in definiert werden

G - Gigabytes  
M - Megabytes  
K - Kilobytes

Die endgültige Lösung für beide Betriebssysteme war:

Java -Xmx15G -Xms15G -jar Selenium-server-standalone-3.4.0.jar

Meine ursprüngliche Java-Version

Java-Version "1.8.0_91"

Java (TM) SE-Laufzeitumgebung (Build 1.8.0_91-b14)

Java HotSpot (TM) 64-Bit Server VM (Build 25.91-b14, gemischter Modus)

Aktualisierte Java-Version

Java-Version "1.8.0_152"

Java (TM) SE-Laufzeitumgebung (Build 1.8.0_152-b16)

Java HotSpot (TM) 64-Bit Server VM (Build 25.152-b16, gemischter Modus)

1
Alex.K.

Ihre Anwendung verwendet standardmäßig nicht den gesamten verfügbaren Systemspeicher (oder RAM). Das Limit hängt von dem von Ihnen eingestellten xmx-Wert ab.

Nicht sicher, ob 64-Bit eine Option für Sie ist. Wenn dies der Fall ist, können Sie Ihren xmx-Wert um mehr als die 32-Bit-Version erhöhen.

0
Nash N