2016-09-06 21 views
10

Właśnie zainstalowałem SmartFoxServer.Wątki stale rosną

Liczba wątków w puli wątków na pulpicie nawigacyjnym stale rośnie po ponownym uruchomieniu SFS i nigdy nie zmniejsza się do następnego ponownego uruchomienia. Jeśli zwiększę limit puli wątków, liczba wątków wzrośnie do tego limitu.

Wszystkie rozszerzenia lub usługi nie są jeszcze uruchomione, a liczba wątków wzrasta do 1232 w ciągu 10 minut. Tak więc nie wydaje się to przeciekiem pamięci, ponieważ nie ma kodu rozszerzenia, po prostu SmartFox.

Próbowałem wersji 2.9, ale wyniki się nie zmieniły.

Co może powodować wątki Sfs do tego rodzaju zachowania, nawet bez uruchamiania rozszerzenia?

+0

Czy masz kod, którego używasz? –

+0

@HorsSujet Nawet jeśli nie używam żadnego rozszerzenia, używa się minimum 1040 wątków. –

Odpowiedz

1

Masz wycieki pamięci.

»Pamięć przecieki

W Javie występuje przeciek pamięci, gdy obiekty w pamięci nie są uwalniane choć sama aplikacja ich nie potrzebuje. Typowym przykładem jest nieużywane detektory zdarzeń, które nie są usuwane ze źródła .

Jeśli program nadal dodaje nowe obiekty programu nasłuchującego, ale nigdy nie pozbędzie się tych, które nie są już używane, otrzymamy potencjalnie dużą liczbę odpadów pamięci o wartości . GC nie będzie w stanie odzyskać takiej pamięci, ponieważ nieużywane detektory nadal są przywoływane. Jeśli te obiekty będą się gromadzić, zobaczymy postępującą degradację wydajności, która może zakończyć się awarią JVM w postaci .

Wycieki pamięci nie zawsze są oczywiste, aby znaleźć, czai się w kodzie przez dłuższy czas, zanim zostaną zauważone. W innych przypadkach wycieki mogą bardzo szybko stać się bardzo nieprzyjemne, powodując znaczne wzrosty zużycia pamięci i ostatecznie kończąc proces.
Źródło: http://docs2x.smartfoxserver.com/AdvancedTopics/troubleshooting-live-server#mem

+0

Czy nie powinien to być "wyciek zasobów" w tym kontekście, czy też "wyciek pamięci" uogólniony na tyle, aby objąć ten scenariusz? – Av4t4r

+0

Myślałem o tym i ponownie zainstalowałem SmartFox Server bez dołączania żadnego rozszerzenia lub swf. Nie używam nawet żadnego kodu, ale czysta instalacja SmartFox2 zawiera 1040 wątków. –

+0

Czy próbowałeś zmienić plik config.xml? ' 5' –

0

Dobrym początkiem byłoby spróbować i ustalić, co wszystkie wątki są. Możesz użyć jstack (zawartej w JDK), aby pobrać stosy wszystkich wątków, które powinny pomóc ci odkryć ich cel i, miejmy nadzieję, jak zmniejszyć ich liczbę.

jstack -l JAVA_PID > jstack.out