2012-06-11 33 views
8

Zastanawiasz się nad uruchomieniem wielu wyświetlaczy xvfb: Mam 10-50 wystąpień skryptu działającego równolegle, który łączy się z ekranem xvfb. Czy jest korzystne uruchomienie tej samej liczby wyświetlaczy xvfb i połączenie 1 do 1? Czy wiele procesów może współużytkować ten sam monitor? RAM nie jest problemem, ani nie jest moc przetwarzania.Wiele wyświetlaczy Xvfb do przetwarzania równoległego?

Odpowiedz

12

Jeden serwer Xvfb powinien być w stanie obsłużyć wiele połączeń całkiem dobrze. Jedną rzeczą, którą chcesz zrobić, to uruchomić serwer z opcją -noreset. Bez niego ma wyciek pamięci za każdym razem, gdy klient się rozłącza.

Jednorazowym pomocnym serwerem Xvfb jest to, że masz więcej niż jeden procesor dostępny w maszynie (na przykład 8 rdzeni), a twój skrypt jest ciężki w grafice. Aby sprawdzić, czy tak jest, połącz wiele instancji skryptu i sprawdź, co to jest użycie procesora Xvfb. Jeśli jest w 100%, możesz skorzystać z dodatkowych instancji Xvfb.

+0

Cool. Mam czterordzeniowy rdzeń i7. Robie około 50 stron internetowych na sekundę. Nie wiedziałem o opcji -noreset, moja pamięć (16 GB) kończyła się co 45 minut. Moje brudne rozwiązanie polegało na tym, że co 15 minut robiłem killall Xvfb. Dziękuję za to. Mój procesor oscyluje wokół 70% do 90% na jednym serwerze Xvfb. Z twoimi informacjami myślę 4 serwery w kolejce round robin? – nathancahill

+0

Czy pojedynczy proces Xvfb zajmuje od 70% do 90% procesora? To na 400%, prawda? Czyli 70-90% jednego rdzenia? – jterrace

+0

Teraz, gdy na to patrzę, to moje skrypty pythonowe łączą się z Xvfb, które przechwytują procesor. Serwer xvfb wynosi około 3%. Tak, to jest na 400%. – nathancahill

Powiązane problemy