2012-06-11 14 views
8

Curioso di eseguire più display xvfb: ho tra 10-50 istanze di uno script in parallelo che si collega a una visualizzazione xvfb. È vantaggioso eseguire lo stesso numero di display xvfb e collegare 1 a 1? O più processi possono condividere lo stesso display? La RAM non è un problema, né la potenza di elaborazione.Xvfb display multipli per l'elaborazione parallela?

risposta

12

Un server Xvfb dovrebbe essere in grado di gestire molte connessioni abbastanza bene. Una cosa che vuoi assicurarti di fare è eseguire il server con l'opzione -noreset. Senza di esso, ha una perdita di memoria ogni volta che un client si disconnette.

L'unica volta che più server Xvfb sono utili è se nella macchina sono disponibili più processori (ad esempio 8 core) e lo script è pesante in termini di grafica. Per vedere se questo è il caso, collega molte istanze del tuo script e controlla top per vedere quale sia l'utilizzo della CPU di Xvfb. Se è al 100%, potresti trarre vantaggio da istanze Xvfb aggiuntive.

+0

Freddo. Ho un quad-core i7. Sto rendendo circa 50 pagine web al secondo. Non conoscevo l'opzione -noreset, la mia memoria da 16 GB era al massimo ogni 45 minuti. Il mio problema era di cron killall Xvfb ogni 15 minuti. Grazie per quello. La mia CPU si aggira intorno al 70% al 90% con un server Xvfb. Con le tue informazioni sto pensando a 4 server in una coda round robin? – nathancahill

+0

Il singolo processo Xvfb prende dal 70% al 90% della CPU? Questo è del 400% giusto? Quindi è il 70-90% di un singolo core? – jterrace

+0

Ora che lo guardo, sono i miei script python che si connettono a Xvfb che sta occupando la CPU. Il server xvfb è di circa il 3%. Sì, questo è del 400%. – nathancahill