Agotamiento de memoria nativa en Windows

El proceso del sistema operativo que ejecuta la máquina virtual (VM) Java no tiene suficiente memoria para generar el archivo de volcado.

A veces, la máquina virtual no puede producir un archivo de volcado en Windows porque no hay suficiente memoria nativa disponible para el proceso del sistema operativo que ejecuta la máquina virtual. Por ejemplo, la salida siguiente se puede escribir enSTDERR:
Unhandled exception
Type=Segmentation error vmState=0x00000001
J9Generic_Signal_Number=00000004 ExceptionCode=c0000005 ExceptionAddress=707D1A95 ContextFlags=0001003f
Handler1=7064F300 Handler2=7134EF90 InaccessibleAddress=00000000
EDI=01F1FB78 ESI=00000000 EAX=00001388 EBX=003BBA18
ECX=00000000 EDX=01DB0048
EIP=707D1A95 ESP=01F1FB5C EBP=01F1FB68 EFLAGS=00010246
GS=002B FS=0053 ES=002B DS=002B
Module=C:\test\native\OOMCrash\oom.dll
Module_base_address=707D0000 Offset_in_DLL=00001a95
Target=2_60_20110521_082820 (Windows 7 6.1 build 7601 Service Pack 1)
CPU=x86 (2 logical CPUs) (0x12e54d000 RAM)
----------- Stack Backtrace -----------
---------------------------------------
JVMDUMP006I Processing dump event "gpf", detail "" - please wait.
JVMDUMP032I JVM requested System dump using 'C:\test\native\OOMCrash\core.20110525.134230.4148.0001.dmp' 
in response to an event
JVMDUMP012E Error in System dump: Dump failed - could not load library DBGHELP.DLL
También puede aparecer este error:
JVMDUMP012E Error in System dump: Dump failed - could not begin dump thread

La biblioteca DBGHELP.DLL es necesaria para que la máquina virtual genere un archivo de volcado del sistema en Windows y se proporciona en el SDK. Una anomalía al cargar esta biblioteca indica que el proceso ha agotado la memoria nativa disponible.

Puede utilizar un depurador de Windows como, por ejemplo, WinDbg, o Visual Studio, o el Administrador de tareas de Windows para generar un archivo de volcado del sistema en estas circunstancias. Estos depuradores cargan las bibliotecas necesarias en un proceso independiente. Es posible que tenga que forzar la parada de la máquina virtual en el punto de fallo para obtener un archivo de volcado utilizando estos depuradores. Si la anomalía es un bloqueo, como en el ejemplo anterior, puede establecer la opción de línea de comandos -Xrs. Esta opción hace que el sistema operativo detenga la máquina virtual y muestre un recuadro de diálogo de Windows cuando se produzca el bloqueo. Si la anomalía no es un bloqueo, por ejemplo, si la máquina virtual estaba produciendo un archivo de volcado para una excepción Java™ , puede utilizar la acción de desencadenante de suspensión en un punto de rastreo para detener la máquina virtual mientras obtiene el archivo de volcado. Utilice este mandato:
java "-Xtrace:print=j9dmp,trigger=tpnid{j9dmp.10,sleep}"