Темы всегда увеличиваются

Я только что установил SmartFoxServer.

Количество потоков в пуле потоков на панели инструментов постоянно увеличивается после перезапуска Sfs и никогда не уменьшается до следующего перезапуска. Если я увеличу лимит пула потоков, число потоков увеличится до этого предела.

Любое расширение или службы еще не запущены, и число потоков увеличивается до 1232 за 10 минут. Так что это не похоже на утечку памяти, потому что не требуется никакого кода расширения, просто обычный SmartFox.

Я пробовал версию 2.9, но результаты не изменились.

Что может вызвать потоки Sfs к такому поведению даже без запуска расширения?

2 ответа

У вас утечки памяти.

"Утечки памяти

В Java происходит утечка памяти, когда объекты в памяти не освобождаются, даже если само приложение больше не нуждается в них. Типичным примером являются неиспользуемые прослушиватели событий, которые не удаляются из их источника событий.

Если программа продолжает добавлять новые объекты слушателя, но никогда не избавляется от тех, которые больше не используются, у нас может возникнуть много потерь памяти. GC не сможет восстановить такую ​​память, потому что на неиспользуемые слушатели все еще ссылаются. Если эти объекты будут накапливаться, мы увидим прогрессивное снижение производительности, которое может закончиться сбоем JVM.

Утечки памяти не всегда очевидны, они скрываются в коде довольно долгое время, прежде чем их обнаруживают. В других случаях утечки могут стать очень неприятными очень быстро, что приведет к значительным скачкам в использовании памяти и в конечном итоге к смерти процесса.
Источник: http://docs2x.smartfoxserver.com/AdvancedTopics/troubleshooting-live-server

Хорошим началом было бы попытаться определить, каковы все темы. Ты можешь использовать jstack (входит в JDK), чтобы получить дампы стека всех потоков, которые должны помочь вам определить их назначение и, как мы надеемся, уменьшить их количество.

jstack -l JAVA_PID > jstack.out
Другие вопросы по тегам