Сборки серверов

СливПлатные

Сейчас онлайн

  • kosheevanadegda637544
  • Aldaraen
  • LiDeRoN
  • vladky
  • G8_8888
  • CatsKombats
  • RenKTen
  • X_Arts_X
  • mukiryokuu
  • bobobo
  • namnguyen
  • tenshae1337
  • sansnels
  • v4strayee
  • Death_Wolf2913
  • Lakinon
  • goshaytowkaert45
  • Maavedal
  • garmxd
  • SkyDev.fun
  • krizzy
  • nursasdads
  • IanZ
  • faser
  • manera111
  • ivanpro3500
  • mud9kv2
  • terehious
  • albertio
  • vadim43
  • Vermach
  • lavash9982
  • kanjiteru
  • melinfer
  • malses
  • _danatello_
  • Himzina
  • vegetov232
  • VilloniHVH
  • вфвф9
  • Soccc
  • kazantsev
  • keyser
  • ZloyADVOKAT
  • SonGoku23
  • NickolasPlay
  • vanity4458444
  • FYYYYYY
  • Acloyer
  • Dipsyak
  • sysysysyyssysysys
  • ravshanplay1337
  • Sikjidoj
  • maksimus228non45
  • Unravlik
  • departface
  • Yavbly_qq
  • SayGG
  • meykez
  • Gakhs
  • Omghej123
  • njgo
  • yoruu??
  • Heo
  • Screammhere
  • Raunak
  • _Dead_
  • KotMurkot
  • Rom
  • ipkgfsg
  • plum
  • FlickG870
  • Axelchikk
  • dsffagewr4

Помощь Утечка памяти

W
Ссылка на лог
https://spark.lucko.me/qdEZZYE6Lf
Версия ядра сервера
1.21+
На этот раз у меня на сервере утечка памяти. Ссылку на лог spark прикрепил
Утечка памяти - каждую ночь сервер перезапускается автоматически. Утром 2 гб, и постепенно к вечеру растет к 6 гб (лимит) и сервер просто перестает нормально функционировать (растет даже если сервер без игроков). Менял настройки и вид GC - не помогает.
Ещё я кое что очень странное заметил: В панели у меня пишет про потребление 5/6 гб озу. Спарк в логе пишет вообще про какие то 1.3 GB/3.9 GB. Ничего не понимаю.

Информация о сервере:
paper 1.21.4
jdk 21

Строка запуска:
java -Xms128M -Xmx`echo $(( (6144 * 95) / 100 ))`M -Dsid=9875f7dc -Dsip=199.83.103.233 -Dspt=25934 -XX:ConcGCThreads=3 -XX:ParallelGCThreads=3 -XX:+UseG1GC -DPaper.IgnoreJavaVersion=true -Dfml.readTimeout=1024 -Dfml.queryResult=confirm -Dlog4j2.formatMsgNoLookups=true -Dterminal.jline=false -Dterminal.ansi=true -DIReallyKnowWhatIAmDoingISwear=true -Duser.timezone=Europe/Moscow $(ver=$((ls libraries/net/minecraftforge/forge/ 2>/dev/null; ls libraries/net/neoforged/neoforge/ 2>/dev/null) | sort -V | awk 'NR==1'); rv="1.20.2"; if [[ "$ver" =~ ^[0-9]+\.[0-9]+- ]] || [[ ! -f libraries/net/minecraftforge/forge/$ver/unix_args.txt && ! -f libraries/net/neoforged/neoforge/$ver/unix_args.txt ]] || (echo $ver $rv | awk -v ver="$ver" -v req="$rv" '{split(ver,a,"[-.]"); split(req,b,"[-.]"); exit !(a[2] > b[2] || (a[2] == b[2] && a[3] > b[3]))}'); then printf %s "-jar -Dfile.encoding=UTF-8 server.jar"; else if [[ -f libraries/net/minecraftforge/forge/$ver/unix_args.txt ]]; then printf %s "@libraries/net/minecraftforge/forge/$ver/unix_args.txt"; else printf %s "@libraries/net/neoforged/neoforge/$ver/unix_args.txt"; fi; fi) nogui

Вид gc:
G1GC (пробовал и serial, не помогало)
 
GPT-4o
Утечка памяти на сервере может быть вызвана различными факторами, включая плагины, модификации или настройки самого сервера. Вот несколько шагов, которые могут помочь вам диагностировать и решить проблему:

1. Проверка плагинов и модификаций: Убедитесь, что все ваши плагины и модификации обновлены до последних версий. Иногда устаревшие плагины могут вызывать утечки памяти.

2. Использование инструментов мониторинга: Попробуйте использовать инструменты, такие как VisualVM или Java Mission Control, чтобы отслеживать использование памяти и выявлять утечки. Это поможет вам увидеть, какие объекты занимают память.

3. Настройки JVM: Ваши настройки JVM выглядят в целом нормально, но вы можете попробовать увеличить количество потоков для сборщика мусора, добавив параметры -XX:ConcGCThreads=4 и -XX:ParallelGCThreads=4.

4. Логи сервера: Обратите внимание на логи сервера, особенно на ошибки или предупреждения, которые могут указывать на проблемы с памятью.

5. Тестирование без плагинов: Попробуйте запустить сервер без каких-либо плагинов или модификаций, чтобы проверить, сохраняется ли проблема. Если проблема исчезает, то это может указывать на то, что один из плагинов вызывает утечку.

6. Обновление Java: Убедитесь, что вы используете последнюю версию JDK 21, так как в новых версиях могут быть исправлены некоторые проблемы с производительностью и утечками памяти.

7. Параметры запуска: Попробуйте изменить параметры запуска, например, добавив -XX:+HeapDumpOnOutOfMemoryError, чтобы получить дамп памяти при возникновении ошибки OutOfMemoryError. Это поможет вам проанализировать, что именно вызывает утечку.

Если после выполнения всех этих шагов проблема не решится, вы можете рассмотреть возможность обращения за помощью к сообществу разработчиков или на форумы, связанные с PaperMC и Minecraft, где другие пользователи могут поделиться своим опытом и решениями.
 
_Dead_
  • _Dead_
  • Жiнка з ароматом пива, шкiра снiжного кальвiна.
  • 190
На этот раз у меня на сервере утечка памяти. Ссылку на лог spark прикрепил
Утечка памяти - каждую ночь сервер перезапускается автоматически. Утром 2 гб, и постепенно к вечеру растет к 6 гб (лимит) и сервер просто перестает нормально функционировать (растет даже если сервер без игроков). Менял настройки и вид GC - не помогает.
Ещё я кое что очень странное заметил: В панели у меня пишет про потребление 5/6 гб озу. Спарк в логе пишет вообще про какие то 1.3 GB/3.9 GB. Ничего не понимаю.

Информация о сервере:
paper 1.21.4
jdk 21

Строка запуска:
java -Xms128M -Xmx`echo $(( (6144 * 95) / 100 ))`M -Dsid=9875f7dc -Dsip=199.83.103.233 -Dspt=25934 -XX:ConcGCThreads=3 -XX:ParallelGCThreads=3 -XX:+UseG1GC -DPaper.IgnoreJavaVersion=true -Dfml.readTimeout=1024 -Dfml.queryResult=confirm -Dlog4j2.formatMsgNoLookups=true -Dterminal.jline=false -Dterminal.ansi=true -DIReallyKnowWhatIAmDoingISwear=true -Duser.timezone=Europe/Moscow $(ver=$((ls libraries/net/minecraftforge/forge/ 2>/dev/null; ls libraries/net/neoforged/neoforge/ 2>/dev/null) | sort -V | awk 'NR==1'); rv="1.20.2"; if [[ "$ver" =~ ^[0-9]+\.[0-9]+- ]] || [[ ! -f libraries/net/minecraftforge/forge/$ver/unix_args.txt && ! -f libraries/net/neoforged/neoforge/$ver/unix_args.txt ]] || (echo $ver $rv | awk -v ver="$ver" -v req="$rv" '{split(ver,a,"[-.]"); split(req,b,"[-.]"); exit !(a[2] > b[2] || (a[2] == b[2] && a[3] > b[3]))}'); then printf %s "-jar -Dfile.encoding=UTF-8 server.jar"; else if [[ -f libraries/net/minecraftforge/forge/$ver/unix_args.txt ]]; then printf %s "@libraries/net/minecraftforge/forge/$ver/unix_args.txt"; else printf %s "@libraries/net/neoforged/neoforge/$ver/unix_args.txt"; fi; fi) nogui

Вид gc:
G1GC (пробовал и serial, не помогало)
G1 Old срабатывал только 4 раза за всё время работы сервера это как вообще?

что за пи##ец в аргументах запуска думаю говорить не нужно
 
Последнее редактирование:
_Dead_
  • _Dead_
  • Жiнка з ароматом пива, шкiра снiжного кальвiна.
  • 190
JavaScript:
Попробуем вот так.
java -Xms111M -Xmx5836M -Dsid=9875f7dc -Dsip=199.83.103.233 -Dspt=25934 -Dfile.encoding=UTF-8 -Duser.timezone=Europe/Moscow -Dlog4j2.formatMsgNoLookups=true -Dterminal.jline=false -Dterminal.ansi=true -DPaper.IgnoreJavaVersion=true -DIReallyKnowWhatIAmDoingISwear=true -Dfml.readTimeout=1024 -Dfml.queryResult=confirm --add-modules=jdk.incubator.vector -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:+PerfDisableSharedMem -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:InitiatingHeapOccupancyPercent=15 -XX:SurvivorRatio=32 -XX:MaxTenuringThreshold=1 -XX:ConcGCThreads=3 -XX:ParallelGCThreads=3 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar server.jar --nogui
 
ВерхНиз