2008-09-16 13 views

Respuesta

24

opción Try JVM -XX: -UsePerfData

more info

El siguiente podría ser útil es decir, de enlace https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html

-XX:+UsePerfData 

    Enables the perfdata feature. This option is enabled by default 
    to allow JVM monitoring and performance testing. Disabling it 
    suppresses the creation of the hsperfdata_userid directories. 
    To disable the perfdata feature, specify -XX:-UsePerfData. 
+1

¡Gracias por restablecer! – rcreswick

+3

Solo para señalar que usar -XX: + PerfDisableSharedMem o -XX: -UsePerfData no permitirá que JConsole, VisualVM y herramientas similares se conecten a la JVM a menos que active JMX. – Eldelshell

+1

Lamentablemente este enlace "más información" ahora está muerto (¡gracias a Oracle!) –

1

EDIT: Limpieza de información y resumir

Resumen:

  • Su una característica, no un error
  • Se puede activar de la -XX: -UsePerfData que podría perjudicar el rendimiento

información relevante:

+0

La parte inferior de esa página describe una solución, eso sí funciona. – rcreswick

+0

Los votos a la baja no son acciones hostiles. Simplemente reflejan la precisión percibida de tu respuesta. Su respuesta original indicó que no se pudo resolver ("Parece que no se puede"). Eso simplemente no era verdad. –

1

De acuerdo con la filed bug report hay una solución alternativa:

Esta opción no documentada desactivará la función perfdata:
-XX: -UsePerfData

Vale la pena mencionar que es una característica, no es un error. El trabajo anterior simplemente desactiva la función.

1

También existe la opción "-XX:+PerfDisableSharedMem" (recomendada por Sun) que debería causar menos problemas de rendimiento que el uso de la opción "-XX:-UsePerfData".

28

Utilice la opción JVM -XX:-UsePerfData.

Esto no tendrá un efecto negativo en el rendimiento, como dicen otras respuestas.

De forma predeterminada, la instrumentación jvmstat está activada en la JVM HotSpot. La opción de JVM -XX:-UsePerfData la apaga. En todo caso, especularía, apagar la instrumentación mejoraría el rendimiento (una cantidad trivial).

Por lo tanto, la desventaja de apagar la instrumentación jvmstat es que pierde la información de supervisión del rendimiento.

jvmstat se describe aquí http://java.sun.com/performance/jvmstat/

Aquí hay un hilo con alguien que está preocupado de que girando en jvmstat - con la opción -XX:+UsePerfData - perjudicará el rendimiento. http://www.theserverside.com/discussions/thread.tss?thread_id=33833
(probablemente no desde jvmstat está diseñado para ser " 'siempre activa', sin embargo, tiene un impacto insignificante en el rendimiento".)

+1

También vea esta publicación del blog de un ingeniero de Softare en Twitter: http://www.evanjones.ca/jvm-mmap-pause.html Allí describe un efecto positivo en los tiempos de pausa del recolector de basura. – Peter

3

En lugar de apagarlo, cambiar la ubicación java.io.tmpdir. Agregue -Djava.io.tmpdir =/mydir/somewhere/else/a su comando de inicio de Java y luego el archivo estará en algún lugar que controle.


Nota un comentario de @simonc: esto sólo funciona en algunas versiones de la JVM y ya no es compatible. Consulte http://bugs.sun.com/view_bug.do?bug_id=6447182, http://bugs.sun.com/view_bug.do?bug_id=6938627, http://bugs.sun.com/view_bug.do?bug_id=7009828 para obtener más información.

+5

Sé que esta es una pregunta antigua, pero para los buscadores de Google: esto solo funciona en algunas versiones de JVM y ya no es compatible. Ver: http://bugs.sun.com/view_bug.do?bug_id=6447182, http://bugs.sun.com/view_bug.do?bug_id=6938627, http://bugs.sun.com/view_bug. hacer? bug_id = 7009828. – SimonC

Cuestiones relacionadas