Como solucionar problemas al ejecutar servicios con el Wrapper en Windows |
|||||||
Al instalar e iniciar servicios ejecutados con el Wrapper, puede llegar a un punto en el que parece que ya no será posible iniciar ningún servicio adicional. Las indicaciones habituales para esto son:
Cada servicio está asignando una cierta cantidad de memoria del espacio de almacenamiento dinámico interno del escritorio utilizado para almacenar cosas como elementos API, etc. Puede encontrar una descripción detallada del espacio de almacenamiento dinámico de escritorio interno en el sitio externo. Si el servicio se lanza como un Servicio no-interactivo, en un equipo 32-bit Windows XP, el espacio de almacenamiento dinámico es de 512KB. El Wrapper mismo está asignando alrededor de 10-15 KB para cada instancia, al iniciar. Cada máquina JVM también asignará en torno de 20KB. Sin embargo, este valor puede variar según los elementos de la API que la JVM está cargando. Si el espacio de almacenamiento dinámico se agota cuando se intenta iniciar el servicio, los errores anteriores pueden ser la consecuencia. El espacio de almacenamiento dinámico de escritorio puede diagnosticarse con la herramienta Desktop Heap Monitor proporcionada por Microsoft. Después de la instalación y configuración, la salida de registros será como lo siguiente:
Los Servicios no-interactivos, que se ejecutan como un usuario del Sistema, pertenecen en este caso a Service-0x0-3e7$\Default. Iniciar más servicios no-interactivos (ejecutar como usuario del sistema) aumentará el uso del almacenamiento dinámico en consecuencia. Ejecutar el servicio como un servicio interactivo bajo una cierta cuenta de usuario creará una nueva sesión WinStation\Desktop para el proceso. Cualquier servicio que se ejecute como este usuario recibirá su propia sesión. Actualmente hay 2 soluciones disponibles:
Un Windows de 64 bits tiene un espacio de almacenamiento dinámico de escritorio significativamente más grande y, por lo tanto, necesita que se ejecuten muchos más servicios al mismo tiempo para alcanzar el límite. |