Tengo una aplicación de escritorio java para buscar archivos y generalmente alcanza el límite de almacenamiento dinámico predeterminado muy pronto. No tendré acceso a todos los sistemas en los que se instalará, así que quiero aumentar el tamaño del almacenamiento dinámico de JVM en la aplicación. ¿Alguien puede ayudarme cómo puedo hacer que la programación en mi solicitudCómo aumentar el tamaño del almacenamiento dinámico de Java de forma programática
Respuesta
Ver este post sobre aumento de tamaño de montón de Java:
increase the java heap size permanently?
Tal vez también le podría limpiar una parte de su código para reducir el uso de memoria.
Saludos
No hay tal API estándar para hacerlo.
Le sugiero que utilice Java Web Start para invocar su aplicación (se puede usar para aplicaciones locales en la última versión de Sun Java 6) ya que le permite especificar valores para esto.
A continuación, puede tener tres o cuatro enlaces, cada uno de los cuales apunta exactamente a los mismos archivos pero con tamaños de pila "Tiny", "Medium", "Large", "Gigantic".
Eche un vistazo a algo como launch4j y considere implementar ejecutables donde puede controlar el límite cuando alguien comienza a ejecutar su aplicación.
No podrá hacer esto programáticamente.
Para aplicaciones de escritorio, sugiero proporcionar un iniciador que luego puede especificar el tamaño de memoria deseado. Además de la configuración de su JVM, también puede proporcionar un icono, asociaciones de archivos, etc.
Consulte este SO question para conocer las alternativas de implementación.
Configurar -Xmx a un concierto no significa que la JVM asignará esa cantidad de memoria al momento de la puesta en marcha. La JVM asignará solo -Xms (más gastos generales) hasta que se necesite más espacio en el montón. ¿Necesita proteger a sus usuarios contra la memoria virtual o una asignación de memoria fallida del sistema operativo? Si no, simplemente configure Xmx a un valor grande. Tenga en cuenta que las JVM de Windows 32bit a menudo ignorarán las configuraciones de Xmx superiores a 1.2Gig, por lo que es mejor no solicitar más de un concierto para estar seguros.
Las JVM de 32 bits no ignorarán los tamaños máximos de montón grandes, sino que no se iniciarán. Solo configure -mx1200m o similar. (-mx funciona igual que -Xmx) –
- 1. Aumentar el tamaño del almacenamiento dinámico en Java
- 2. Cómo aumentar el tamaño del almacenamiento dinámico para el servidor jBoss
- 3. Error al iniciar Glassfish después de aumentar el tamaño del almacenamiento dinámico
- 4. ¿Aumenta el tamaño del almacenamiento dinámico de JVM para Scala?
- 5. ¿Puede el tamaño de almacenamiento dinámico de JVM ser dinámico?
- 6. Configuración del tamaño del almacenamiento dinámico de Java en Apache Karaf
- 7. Cómo aumentar el espacio de almacenamiento dinámico de Java para una aplicación de tomcat
- 8. cómo aumentar la memoria del montón de Java permanentemente?
- 9. efecto secundario para aumentar maxpermsize y el tamaño máximo de almacenamiento dinámico
- 10. Configuración del tamaño del almacenamiento dinámico de JVM en el tiempo de ejecución
- 11. ¿aumenta el tamaño del montón de Java de forma permanente?
- 12. ¿Cómo configurar un gran tamaño de almacenamiento dinámico de JVM?
- 13. Aumente el tamaño del almacenamiento dinámico en el plugin m2e Eclipse
- 14. Aumento del tamaño máximo de almacenamiento dinámico de JVM para aplicaciones con uso intensivo de memoria
- 15. Encontrar el tamaño de almacenamiento dinámico actual con jmap
- 16. ¿Cómo aumentar el tamaño de la pila de Java?
- 17. JAVA_OPTS para aumentar el tamaño del montón
- 18. ¿Cómo puedo determinar el tamaño mínimo de almacenamiento dinámico de JVM desde una aplicación java?
- 19. espacio de almacenamiento dinámico de Java
- 20. solr - espacio de almacenamiento dinámico de java
- 21. ¿Puedo establecer el tamaño máximo de almacenamiento dinámico de Java para ejecutar desde un archivo jar?
- 22. ¿Cómo puedo aumentar el tamaño del montón .NET?
- 23. ¿Cómo aumentar el tamaño de la historia del portapapeles PHPStorm?
- 24. Limitaciones inusuales de tamaño de almacenamiento dinámico en VS2003 C++
- 25. ¿Cómo acceder a los datos del portapapeles de forma programática?
- 26. jQuery-UI: redimensionable: ¿cómo aumentar el tamaño del borde arrastrable?
- 27. Cómo aumentar el tamaño del texto en SoapUI
- 28. ¿Cómo puedo aumentar el tamaño de fuente en función del ancho de la ventana?
- 29. cómo aumentar el tamaño de acumulación de JVM
- 30. Aumentar el tamaño (altura) del área de título en ColorBox
¿Por qué no elige agregar un script inicial (bat o sh) con parámetros de inicio definidos para jvm (como Xmx) y desplegarlo junto con la aplicación en sí misma. –
¿Cuál sería el punto de establecer un límite si alguna aplicación pudiera simplemente elevarla a voluntad? –
no se pueden cambiar las restricciones de memoria de forma programada en una aplicación en ejecución –