2012-06-11 29 views
8

Curioso acerca de la ejecución de varias pantallas xvfb: Tengo entre 10 y 50 instancias de una secuencia de comandos que se ejecuta en paralelo que se conectan a una pantalla xvfb. ¿Es ventajoso ejecutar el mismo número de pantallas xvfb y conectar de 1 a 1? ¿O pueden múltiples procesos compartir la misma pantalla? La RAM no es un problema, tampoco lo es la potencia de procesamiento.Xvfb pantallas múltiples para procesamiento en paralelo?

Respuesta

12

Un servidor Xvfb debe ser capaz de manejar muchas conexiones bastante bien. Una cosa que quiere asegurarse de hacer es ejecutar el servidor con la opción -noreset. Sin él, tiene una pérdida de memoria cada vez que un cliente se desconecta.

La única vez que varios servidores Xvfb son útiles es si tiene más de un procesador disponible en la máquina (por ejemplo, 8 núcleos) y su secuencia de comandos tiene gráficos pesados. Para ver si este es el caso, conecte muchas instancias de su secuencia de comandos y marque top para ver cuál es el uso de CPU de Xvfb. Si está al 100%, puede beneficiarse de instancias Xvfb adicionales.

+0

Genial. Tengo un quad-core i7. Estoy renderizando alrededor de 50 páginas web por segundo. No sabía sobre la opción -noreset, mi memoria (16GB) se estaba agotando cada 45 minutos. Mi sucia solución fue cron killall Xvfb cada 15 minutos. Gracias por eso. Mi CPU oscila entre el 70% y el 90% con un servidor Xvfb. Con su información, ¿estoy pensando en 4 servidores en una cola de turnos rotativos? – nathancahill

+0

¿El único proceso Xvfb toma del 70% al 90% de la CPU? Eso está fuera del 400%, ¿verdad? ¿Entonces es 70-90% de un solo núcleo? – jterrace

+0

Ahora que lo veo, son mis scripts de Python los que se conectan al Xvfb que está ocupando la CPU. El servidor xvfb es alrededor del 3%. Sí, eso está fuera del 400%. – nathancahill

Cuestiones relacionadas