Relationship between memory allocation needs in Java and available memory / swap

when starting a new java process, we get an error that sounds like this:

"Could not reserve enough space for 16775168KB object heap"

      

Looking at the log file generated by the JVM, we see, however, the following:

# 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

      

At the same time, there is an instruction at the bottom of the log file:

Memory: 4k page, physical 67098420k(52119824k free), swap 86034256k(8132400k free)

vm_info: Java HotSpot(TM) 64-Bit Server VM (25.45-b02) for windows-amd64 JRE (1.8.0_45-b15), built on Apr 30 2015 12:40:44 by "java_re" with MS VC++ 10.0 (VS2010)

      

How can a java process not allocate 1 GB of memory if at the same time there is more memory available for both physical memory and paging space?

Thank you so much

Boris

Excerpt from log file:

#
# 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:273), pid=17164, tid=21188
#
# JRE version: Java(TM) SE Runtime Environment (8.0_45-b15) (build 1.8.0_45-b15)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.45-b02 mixed mode windows-amd64 compressed oops)
# Failed to write core dump. 
#

...

VM Arguments:
java_command: com.uniper.rest.bridge.ExternalBridge -Xmx128m
java_class_path (initial): D:\Progs\ENDUR-~1\EN57BD~1\bin\otk\openjvs...
Launcher Type: SUN_STANDARD

Environment Variables:
JAVA_HOME=D:\Progs\Endur-64bit\Endur_V15_0_05052016EON_07072016_1104\bin\olf_dependencies\java\jdk1.8.0_45\
...


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

OS: Windows Server 2008 R2 , 64 bit Build 7601 (6.1.7601.23807)

CPU:total 8 (4 cores per cpu, 2 threads per core) family 6 model 26 stepping 5, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, ht, tsc, tscinvbit, tscinv

Memory: 4k page, physical 67098420k(52119824k free), swap 86034256k(8132400k free)

vm_info: Java HotSpot(TM) 64-Bit Server VM (25.45-b02) for windows-amd64 JRE (1.8.0_45-b15), built on Apr 30 2015 12:40:44 by "java_re" with MS VC++ 10.0 (VS2010)

      

+3


source to share





All Articles