6 votos

¿Por qué la reserva de memoria virtual de Java es tan alta? ¿Bug?

En mi Mac Os 10.5.8 Server, Java está reservando 16.777.216TB (aproximadamente un tercio más que el suma de todos los conocimientos humanos -eek!) de la memoria virtual. Sé que en realidad no está reservando esto (¡sería bastante sorprendente si lo hiciera!); ¿es algo de lo que hay que preocuparse (es decir, un error / fallo), y si no, qué significa?

enter image description here

1voto

Mario Marinato -br- Puntos 2933

16 Mebi TebiBytes (16 ExbiBytes) es 2^64 Bytes. Su máquina debe estar usando direccionamiento de 64 bits, y su JVM (Máquina Virtual de Java) probablemente escribió algo en la dirección 0xffffffffffff dentro de su propio espacio de direcciones virtuales (posiblemente escribiendo accidentalmente en la dirección que es una menos que 0x0000000000000000), causando que el subsistema de memoria virtual del kernel de Mac OS X considere que ese proceso está usando todo el espacio de direcciones virtuales de ese proceso.

No te preocupes, la memoria virtual es escaso . Es decir, no asigna páginas de memoria (o espacio de intercambio en el disco) para cada dirección mapeada, sólo para las páginas de memoria que su proceso tiene realmente escrito a. Pero supongo que eso ya es obvio, a no ser que tengas un RAID de 16+ ExbiBytes montado en / o en /var/vm/ donde se encuentran sus archivos de intercambio de memoria virtual. :-)

Ver que un proceso hace que se mapee todo su espacio de direcciones virtual de 64 bits es una rareza, pero no debería causar ningún problema.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X