Туториал Ускорение работы Java [Аргументы]

  • Автор темы Автор темы Starr
  • Дата начала Дата начала
ВНИМАНИЕ! Используйте только при крайней необходимости. Не стоит страдать этой уйнёй, автору просто нечем было заняться.

Приветствую тебя, странник.
Если ты хоть каплю задумывался о том, как же повысить скорость работы своего сервера или клиента, ты попал в тему, которая тебе нужна.

И так, приступим.
Я собрал множество аргументов с описанием, которые позволяют серверу, а также клиенту работать более оптимизировано и быстрее.

ВНИМАНИЕ! Для того, чтобы добиться максимальной производительности, лучше выбрать определенные аргументы, нежели вписывать все сразу.
На разных версиях Java и на разном железе - аргументы ведут себя по-разному. Так что лучше после установки аргумента каждый раз перепроверять, улучшилась производительность, или нет.


Пример строки запуска:
Код:
java -аргумент1 -аргумент2 -аргументN server.jar

Строка запуска моего сервера:
Код:
java -Xmx5G -Xmn192M -XX:+UseConcMarkSweepGC -jar server.jar

Аргументы моего клиента:
Код:
-Xmn256M

Выделение Java под конкретные ядра (только Linux)

Перед командой запуска сервера, добавьте эту команду:

Код:
taskset -c [ядра] [команда запуска]
[ядра] = 0,1,2,3 - указывать обязательно в таком формате.
Выражаем благодарность @scrik78



Список аргументов:

Основные флаги
  • -Xincgc - активирует сборщик мусора, который время-от-времени будет выгружать неиспользуемую оперативную память. Тип сборщика выбирается в зависимости от версии Java.
  • -server - активирует серверную версию Java, в которой по умолчанию включена функция поддержки экспериментальных флагов, а также ускоряет компиляцию классов, что даёт прирост в производительности, но увеличивает время запуска (только 64-битные системы)

Выделение памяти
  • -Xmx5G - количество максимальной выделяемой памяти под сервер
  • -Xms512M - количество минимально выделяемой памяти под сервер
  • -Xmn128M - количество выделяемой памяти под недолгоживущие объекты (которые не были выгружены сборщиком мусора)
  • -XX:MaxPermSize=128M - количество памяти под PermGen Space (не работает на Java 8)
  • -XX:SharedReadOnlySize=30M - количество памяти под read-only место в PermGen

Сборщики мусора
Это больная тема, советую экспериментировать, чтобы добиться хоть чего-то стоящего, а не наоборот, ухудшить производительность.
МИНИ-СОВЕТ: Для одноядерных процессоров используйте любой сборщик мусора, но не указывайте кол-во потоков для него. На данный момент лучшим сборщиком мусора для кубача является ConcMarkSweepGC. Чем больше число SurvivorRatio - тем лучше, тем меньше старые объекты будут захламлять ОЗУ. Чем больше TargetSurvivorRatio - тем больше старых объектов будет очищаться (желательно не ставить более 90).
Использовать MaxGCPauseMillis лучше всего с G1GC или с конкретно указанным сборщиком мусора. AutoGCSelectPauseMillis - со сборщиком, который система сама выберет. G1HeapRegionSize лучше не устанавливать, java сама подберет оптимальное значение, использовать только если знаете, что делаете.

  • -XX:+UseSerialGC - включает сборщик мусора, который работает в 1 потоке
  • -XX:+UseConcMarkSweepGC - включает сборщик мусора, который использует мощь нескольких процессоров.
  • -XX:ConcGCThreads=2 - количество процессов для сборщика мусора.
  • -XX:+UseG1GC - активирует новый сборщик мусора, разделяет всю память на определенные участки, и благодаря использованию нескольких ядер, собирает со всех участков неиспользуемую память.
  • -XX:G1HeapRegionSize=32 - количество памяти, выделяемой под каждый участок.
  • -XX:AutoGCSelectPauseMillis=2500 - количество времени в миллисекундах между вызовом автоматически выбраного сборщика мусора.
  • -XX:MaxGCPauseMillis=1000 - длительность времени в миллисекундах между вызовом конкретного сборщика мусора. Для G1GC исполняет роль максимально установленного промежутка.
  • -XX:SurvivorRatio=8 - количество радиуса для существования выживающих объектов (чем меньше число, тем больше место). Большее место дает возможность недавно сгенерированным объектам жить дольше перед очисткой мусора.
  • -XX:TargetSurvivorRatio=90 - количество места в процентах под выживающие объекты, что позволит очищать больше неиспользуемых объектов во время сборки мусора.

Экспериментальные аргументы
  • -XX:+AggressiveOpts - активация экспериментальных опций Java-машины.
    (-XX:AutoBoxCacheMax=20000 -XX:BiasedLockingStartupDelay=500 -XX:+EliminateAutoBox -XX:+OptimizeFill -XX:+OptimizeStringConcat)
  • -XX:+UseBiasedLocking - ускорение синхронизации объектов на многоядерных процессорах.
  • -XX:+UseFastAccessorMethods - использование оптимизированных версий вызова методов.
  • -XX:+UseFastEmptyMethods - исключение из компиляции пустых методов.
  • -XX:+UseCompressedOops - уменьшение размеров указателя, заголовков, а также сдвигов внутри созданных объектов. В зависимости от кода сэкономит 20-60% ОЗУ.
  • -XX:+OptimizeFill - замена циклов работы с массивами на машинный код, что ускоряет работу
  • -XX:+OptimizeStringConcat - оптимизация конкатенации объектов типа String. Вместо 20 вызовов одной операции на 20 символов, вызывает единожды на 400 символов
  • -XX:+UseStringCache - включает кеширование объектов типа String. Где и как кешируется не понятно.
  • -XX:-UseGCOverheadLimit - игнорирует нехватку памяти для сборки мусора, избавляет частично от Out Of Memory Error
  • -XX:+CMSIncrementalPacing - автоматическое регулирование процессов CMS в Incremental mode.
  • -XX:+CMSCleanOnEnter - очистка CMS при запуске Java-машины.
  • -XX:+UseInterpreter - включение интерпретатора для некомпилированных методов.
  • -XX:UseSSE=4 - использование инструкций SSE процессора. (0 - отключить, 1/2/3/4 - использование SSE/SSE2/SSE3/SSE4)
  • -XX:MaxTenuringThreshold=15 - количество копирований выживающих объектов между разными местами.
  • -XX:+RewriteFrequentPairs - перезапись недавно использовавшихся пар байткода в одно целое.
  • -XX:+UseInlineCaches - использование внеочередного кеширования для виртуальных вызовов.
  • -XX:+UseThreadPriorities - использование приоритета для процесса Java-машины.
  • -XX:ThreadPriorityPolicy=42 - установка приоритета процесса для увеличения выделяемых ресурсов.

Надеюсь, мой туториал вам пригодился 🙂
 
Последнее редактирование:
А в среднем? И всмысле по ситуации? Мне надо чтобы на мини-играх не лагало, например, на сервере 80 игроков и 20 плагинов, сколько ему подойдет памяти?
 
А в среднем? И всмысле по ситуации? Мне надо чтобы на мини-играх не лагало, например, на сервере 80 игроков и 20 плагинов, сколько ему подойдет памяти?
1 игрок - с макс оптимизацией 30 - 50 mb ram сервера.
80 - 100 игроков - 4 gb ram .
 
на игрока может выделяться и 10мб, зависит еще скока данных к нему цепляет.
 
Если уж так сильно припёрло, то можно с visualvm посмотреть сколько на что выделяется. Но делать этого, конечно, никто не будет.
 
Коллеги, для VPS с RAM 4G CPUx2 (Ubuntu 16.04 LTS) какие посоветуете Xms и Xmx? Спасибо.
...уместно ли дать Xmx все 4G?
...или нужно сколько-нибудь оставить операционной системе?
 
Коллеги, для VPS с RAM 4G CPUx2 (Ubuntu 16.04 LTS) какие посоветуете Xms и Xmx? Спасибо.
...уместно ли дать Xmx все 4G?
...или нужно сколько-нибудь оставить операционной системе?
не особо связано xmx4G и 4G real ram, выделять столько сколько лучше работать будет, xms можете вообще убрать, в нем есть смысл если время старта он уменьшит(но памяти больше отъест(в зависимости скока там указали эффект)), иначе только больше жрать и больше лазить в своп, ксатати своп как резерв в размере ram*2(или 3) тоже пригодится.
 
не особо связано xmx4G и 4G real ram, выделять столько сколько лучше работать будет,
что это значит, коллега?

(1) не может же Xmx превышать реальную память в ОС? или может?
(2) и каким должен быть параметр Xms по отношению к Xmx?
 
что это значит, коллега?

(1) не может же Xmx превышать реальную память в ОС? или может?
(2) и каким должен быть параметр Xms по отношению к Xmx?
я редактировал пост, там больше информации дописал,
1 - может
2 - выше написал, если что-то подробнее, то уточните.
 
я всё прочитал, немного стал умнее, спасибо ))

но ответ на главный вопрос (какими же должны быть эти параметры при наличии указанных выше параметров физического сервера?) мне всё равно не ясен )))

у меня сейчас так:
java -Xms2048M -Xmx3934M -Dfile.encoding=UTF-8 -jar Spigot-1-10.jar -o false

Буду признателен за конкретные рекомендации.
 
я всё прочитал, немного стал умнее, спасибо ))

но ответ на главный вопрос (какими же должны быть эти параметры при наличии указанных выше параметров физического сервера?) мне всё равно не ясен )))

у меня сейчас так:
java -Xms2048M -Xmx3934M -Dfile.encoding=UTF-8 -jar Spigot-1-10.jar -o false

Буду признателен за конкретные рекомендации.
повторяюсь, по потребностям, сколько потребности? что стоит на сервере, сколько людей, модов, плагинов и т.д. - это надо смотреть и проверять хватает или нет.
 
> повторяюсь, по потребностям, сколько потребности?

я понимаю, что для вас недостаточно входных данных (и соглашаюсь с этим), но, признаюсь, тоже не очень понимаю ваше уточнение: что значит "сколько потребности"? потребности в чём?


> что стоит на сервере, сколько людей, модов, плагинов и т.д. - это надо смотреть и проверять хватает или нет.

на сервере (сборка LightServer - с RuBukkit'а) стоит CraftBukkit version git-Spigot-6016ac7-10c10b3 (MC: 1.10)
игроков бывает максимум не более десятка (в дневное время среднее количество: 4--6 игроков)
сервер-песочница, плагинов стоит немало (перечислять не буду), игр (пока) нет, про моды ничего не знаю

что-то ещё нужно?
 
> повторяюсь, по потребностям, сколько потребности?

я понимаю, что для вас недостаточно входных данных (и соглашаюсь с этим), но, признаюсь, тоже не очень понимаю ваше уточнение: что значит "сколько потребности"? потребности в чём?
перечисление после как раз и есть оно (примеры объектов)

> что стоит на сервере, сколько людей, модов, плагинов и т.д. - это надо смотреть и проверять хватает или нет.
на сервере (сборка LightServer - с RuBukkit'а) стоит CraftBukkit version git-Spigot-6016ac7-10c10b3 (MC: 1.10)
игроков бывает максимум не более десятка (в дневное время среднее количество: 4--6 игроков)
сервер-песочница, плагинов стоит немало (перечислять не буду), игр (пока) нет, про моды ничего не знаю

что-то ещё нужно?
прикинуть можно xmx2гб, без xms , более точно см. профилировщик, например в составе JDK был VisualVM. Там есть вкладка показывающая сколько занято и выделено, если условно пишет 1гб из 4гб, то можно снизить до 1.5, или двойной запас 2гб.
 
прикинуть можно xmx2гб

Вот это-то мне и непонятно. Если на физическом сервере есть 4G, зачем же ущемлять MC-сервер двумя гигами? Значит, в случае игрового дефицита памяти, МС-сервер не сможет себе добавить -- в то время, как ОС будет наслаждаться не нужным ей избытком? ))
 
Вот это-то мне и непонятно. Если на физическом сервере есть 4G, зачем же ущемлять MC-сервер двумя гигами? Значит, в случае игрового дефицита памяти, МС-сервер не сможет себе добавить -- в то время, как ОС будет наслаждаться не нужным ей избытком? ))

Xmx - максимальный размер не потребляемой памяти, а максимальный размер пула для объектов самой программы, реальное потребление ОЗУ может быть выше Xmx.
Xms - минимальный резерв ОЗУ, если GC умеет возвращать блоки памяти, то он вернет их.
Многие смотрят потребление ОЗУ через системные средства, которые показывают потребление памяти, и видят, что JVM использует к примеру 4гб озу. Они говорят, что JVM много требует, из-за этого выделяют еще больше ОЗУ. Это неверно. Возможно, что их версия GC не возвращает неиспользуемые блоки памяти, либо XMS близок к том, что показывается в диспетчере задач. Если используется сервер приложений, вроде tomcat, то лучше всего xmx и xms делать равными.

Я бы еще написал, но мне лень. Надеюсь, понятно всё в тексте, я только проснулся.
Вот, кто хочет - может прочитать статью.
http://www.stefankrause.net/wp/?p=14

p.s. в java 9 что-то сделали с gc, но я еще не посмотрел jep.
 
Спасибо большое и вам за консультацию! Для только что проснувшегося это более чем! ))) Буду разбираться дальше сам.
 
Xmx - максимальный размер не потребляемой памяти, а максимальный размер пула для объектов самой программы, реальное потребление ОЗУ может быть выше Xmx.
Xms - минимальный резерв ОЗУ, если GC умеет возвращать блоки памяти, то он вернет их.
Многие смотрят потребление ОЗУ через системные средства, которые показывают потребление памяти, и видят, что JVM использует к примеру 4гб озу. Они говорят, что JVM много требует, из-за этого выделяют еще больше ОЗУ. Это неверно. Возможно, что их версия GC не возвращает неиспользуемые блоки памяти, либо XMS близок к том, что показывается в диспетчере задач. Если используется сервер приложений, вроде tomcat, то лучше всего xmx и xms делать равными.
это вы про G1GC? Он любил кушать больше чем CMS и тем более чем ParallelGC.
 
Какие выставлять аргументы для большого количества модов 300+ клиента+сервер? Что убрать-добавить? Запускать на линуксе буду, java JDK 7 update 80 x64.
Для сервера что то вроде этого будет:
taskset -c 4 java -server -Dfile.encoding=UTF-8 -Dfml.ignorePatchDiscrepancies=true -Dfml.ignoreInvalidMinecraftCertificates=true -Xincgc -Xmx8G -Xms8G -Xmn128M -XX:MaxPermSize=128M -XX:SharedReadOnlySize=128M -XX:+UseConcMarkSweepGC -XX:ConcGCThreads=4 -XX:AutoGCSelectPauseMillis=2500 -XX:+AggressiveOpts -XX:+UnlockExperimentalVMOptions -XX:+UseBiasedLocking -XX:+UseFastAccessorMethods -XX:+UseStringCache -XX:-UseGCOverheadLimit -XX:UseSSE=4 -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=15 -XX:+RewriteFrequentPairs -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -XX:+CMSIncrementalMode -XX:+OptimizeFill -XX:MaxGCPauseMillis=30 -XX:+UseInterpreter -XX:+UseFastEmptyMethods -XX:+UseInlineCaches -XX:+UseCompressedOops -XX:+EliminateLocks -XX:+UseCompressedOops -XX:SharedReadOnlySize=128M -XX:+CMSIncrementalPacing -XX:+CMSParallelRemarkEnabled -Djline.terminal=jline.UnsupportedTerminal -Dfml.doNotBackup=true -noverify -Dfml.queryResult=confirm -jar bin/pw/prok/KCauldron/1.7.10-1614.201/KCauldron-1.7.10-1614.201.jar nogui
 
Последнее редактирование:
Какие выставлять аргументы для большого количества модов 300+ клиента+сервер? Что убрать-добавить? Запускать на линуксе буду, java JDK 7 update 80 x64.
Для сервера что то вроде этого будет:
taskset -c 4 java -server -Dfile.encoding=UTF-8 -Dfml.ignorePatchDiscrepancies=true -Dfml.ignoreInvalidMinecraftCertificates=true -Xincgc -Xmx8G -Xms8G -Xmn128M -XX:MaxPermSize=128M -XX:SharedReadOnlySize=128M -XX:+UseConcMarkSweepGC -XX:ConcGCThreads=4 -XX:AutoGCSelectPauseMillis=2500 -XX:+AggressiveOpts -XX:+UnlockExperimentalVMOptions -XX:+UseBiasedLocking -XX:+UseFastAccessorMethods -XX:+UseStringCache -XX:-UseGCOverheadLimit -XX:UseSSE=4 -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=15 -XX:+RewriteFrequentPairs -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -XX:+CMSIncrementalMode -XX:+OptimizeFill -XX:MaxGCPauseMillis=30 -XX:+UseInterpreter -XX:+UseFastEmptyMethods -XX:+UseInlineCaches -XX:+UseCompressedOops -XX:+EliminateLocks -XX:+UseCompressedOops -XX:SharedReadOnlySize=128M -XX:+CMSIncrementalPacing -XX:+CMSParallelRemarkEnabled -Djline.terminal=jline.UnsupportedTerminal -Dfml.doNotBackup=true -noverify -Dfml.queryResult=confirm -jar bin/pw/prok/KCauldron/1.7.10-1614.201/KCauldron-1.7.10-1614.201.jar nogui
300 модов где? в главном меню игры?

nogui - не нужен на форках котла, имхо.
-Xms8G - зачем? можно и убрать
-Xincgc - можно настроить и так GC
-XX:MaxPermSize=128M - может быть мало, можно повысить, например до 300-500.
XX:SharedReadOnlySize=128M - зачем? и повторяется 2 раза
UseConcMarkSweepGC - будете юзать CMS GC?
-XX:UseSSE=4 - если нужно использование самого последнего SSE то параметр можно убрать.
XX:+UseInterpreter - хмм, зачем
UseFastAccessorMethods/UseFastEmptyMethods/UseInlineCaches - проверить не являются ли jvm default true и не выкл ли др параметрами
-XX:+UseCompressedOops - кажется повторяется 2 раза
 
Да 300 на сервер поставить хочу, я половину уже делал но конфликт с другими модами был.Но работало. На линуксе лучше работает. В игре будет чуть больше 300 модов показываться. А количество модов больше 300 хотел. А для клиента строка какая будет? Строка от сервера работает на клиенте.
UseConcMarkSweepGC - будете юзать CMS GC?
А что это?
UseFastAccessorMethods/UseFastEmptyMethods/UseInlineCaches - проверить не являются ли jvm default true и не выкл ли др параметрами
Я не понял, дам лог сервера без плагинов и модов. У меня Сервер на ядре Каудрон.
java -server -Dfile.encoding=UTF-8 -Dfml.ignorePatchDiscrepancies=true -Dfml.ignoreInvalidMinecraftCertificates=true -Xincgc -Xmx8G -Xmn128M -XX:MaxPermSize=384M -XX:SharedReadOnlySize=128M -XX:ConcGCThreads=4 -XX:AutoGCSelectPauseMillis=2500 -XX:+AggressiveOpts -XX:+UnlockExperimentalVMOptions -XX:+UseBiasedLocking -XX:+UseFastAccessorMethods -XX:+UseStringCache -XX:-UseGCOverheadLimit -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=15 -XX:+RewriteFrequentPairs -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -XX:+CMSIncrementalMode -XX:+OptimizeFill -XX:MaxGCPauseMillis=30 -XX:+UseFastEmptyMethods -XX:+UseInlineCaches -XX:+UseCompressedOops -XX:+EliminateLocks -XX:+UseCompressedOops -XX:SharedReadOnlySize=128M -XX:+CMSIncrementalPacing -XX:+CMSParallelRemarkEnabled -Djline.terminal=jline.UnsupportedTerminal -Dfml.doNotBackup=true -noverify -Dfml.queryResult=confirm -jar server.jar
[21:17:10] [main/INFO]: Loading tweak class name cpw.mods.fml.common.launcher.FMLServerTweaker
[21:17:10] [main/INFO]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLServerTweaker
[21:17:10] [main/INFO]: Calling tweak class cpw.mods.fml.common.launcher.FMLServerTweaker
[21:17:10] [main/INFO]: Forge Mod Loader version 7.10.114.1388 for Minecraft 1.7.10 loading
[21:17:11] [main/INFO]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.7.0_141, running on Windows 7:amd64:6.1, installed at C:\Program Files\Java\jre7
[21:17:11] [main/INFO]: Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[21:17:11] [main/INFO]: Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker
[21:17:11] [main/INFO]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[21:17:11] [main/INFO]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[21:17:11] [main/INFO]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
[21:17:12] [main/INFO]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
[21:17:12] [main/INFO]: Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker
[21:17:13] [main/INFO]: Loading tweak class name cpw.mods.fml.common.launcher.TerminalTweaker
[21:17:13] [main/INFO]: Calling tweak class cpw.mods.fml.common.launcher.TerminalTweaker
[21:17:14] [main/INFO]: Launching wrapped minecraft {net.minecraft.server.MinecraftServer}
[21:17:19] [Server thread/INFO]: Starting minecraft server version 1.7.10
[21:17:19] [Server thread/INFO]: Attempting early MinecraftForge initialization
[21:17:19] [Server thread/INFO]: MinecraftForge v10.13.3.1388 Initialized
[21:17:19] [Server thread/INFO]: Replaced 183 ore recipies
[21:17:19] [Server thread/INFO]: Preloading CrashReport classes
[21:17:19] [Server thread/INFO]: net.minecraft.world.World$1
[21:17:19] [Server thread/INFO]: net.minecraft.world.World$2
[21:17:19] [Server thread/INFO]: net.minecraft.world.World$3
[21:17:19] [Server thread/INFO]: net.minecraft.world.World$4
[21:17:19] [Server thread/INFO]: net.minecraft.world.chunk.Chunk$1
[21:17:19] [Server thread/INFO]: net.minecraft.crash.CrashReportCategory$1
[21:17:19] [Server thread/INFO]: net.minecraft.crash.CrashReportCategory$2
[21:17:19] [Server thread/INFO]: net.minecraft.crash.CrashReportCategory$3
[21:17:19] [Server thread/INFO]: net.minecraft.entity.Entity$1
[21:17:19] [Server thread/INFO]: net.minecraft.entity.Entity$2
[21:17:19] [Server thread/INFO]: net.minecraft.entity.EntityTracker$1
[21:17:19] [Server thread/INFO]: net.minecraft.world.gen.layer.GenLayer$1
[21:17:19] [Server thread/INFO]: net.minecraft.world.gen.layer.GenLayer$2
[21:17:19] [Server thread/INFO]: net.minecraft.entity.player.InventoryPlayer$1
[21:17:19] [Server thread/INFO]: net.minecraft.world.gen.structure.MapGenStructure$1
[21:17:19] [Server thread/INFO]: net.minecraft.world.gen.structure.MapGenStructure$2
[21:17:19] [Server thread/INFO]: net.minecraft.world.gen.structure.MapGenStructure$3
[21:17:19] [Server thread/INFO]: net.minecraft.server.MinecraftServer$3
[21:17:19] [Server thread/INFO]: net.minecraft.server.MinecraftServer$4
[21:17:19] [Server thread/INFO]: net.minecraft.server.MinecraftServer$5
[21:17:19] [Server thread/INFO]: net.minecraft.nbt.NBTTagCompound$1
[21:17:19] [Server thread/INFO]: net.minecraft.nbt.NBTTagCompound$2
[21:17:19] [Server thread/INFO]: net.minecraft.network.NetHandlerPlayServer$2
[21:17:19] [Server thread/INFO]: net.minecraft.network.NetworkSystem$3
[21:17:19] [Server thread/INFO]: net.minecraft.tileentity.TileEntity$1
[21:17:19] [Server thread/INFO]: net.minecraft.tileentity.TileEntity$2
[21:17:19] [Server thread/INFO]: net.minecraft.tileentity.TileEntity$3
[21:17:19] [Server thread/INFO]: net.minecraft.world.storage.WorldInfo$1
[21:17:19] [Server thread/INFO]: net.minecraft.world.storage.WorldInfo$2
[21:17:19] [Server thread/INFO]: net.minecraft.world.storage.WorldInfo$3
[21:17:19] [Server thread/INFO]: net.minecraft.world.storage.WorldInfo$4
[21:17:19] [Server thread/INFO]: net.minecraft.world.storage.WorldInfo$5
[21:17:19] [Server thread/INFO]: net.minecraft.world.storage.WorldInfo$6
[21:17:19] [Server thread/INFO]: net.minecraft.world.storage.WorldInfo$7
[21:17:19] [Server thread/INFO]: net.minecraft.world.storage.WorldInfo$8
[21:17:19] [Server thread/INFO]: net.minecraft.world.storage.WorldInfo$9
[21:17:19] [Server thread/INFO]: net.minecraft.server.dedicated.DedicatedServer$3
[21:17:19] [Server thread/INFO]: net.minecraft.server.dedicated.DedicatedServer$4
[21:17:19] [Server thread/INFO]: Completed early MinecraftForge initialization
[21:17:19] [Server thread/INFO]: Searching C:\Users\Timur\Desktop\Server Panda\mods for mods
[21:17:20] [Server thread/INFO]: Forge Mod Loader has identified 3 mods to load
[21:17:20] [Server thread/INFO]: Attempting connection with missing mods [mcp, FML, Forge] at CLIENT
[21:17:20] [Server thread/INFO]: Attempting connection with missing mods [mcp, FML, Forge] at SERVER
[21:17:20] [Server thread/INFO]: Processing ObjectHolder annotations
[21:17:20] [Server thread/INFO]: Found 341 ObjectHolder annotations
[21:17:20] [Server thread/INFO]: Configured a dormant chunk cache size of 0
[21:17:20] [Server thread/INFO]: Applying holder lookups
[21:17:20] [Server thread/INFO]: Holder lookups applied
[21:17:20] [Server thread/INFO]: Loading properties
[21:17:20] [Server thread/INFO]: Default game type: SURVIVAL
[21:17:20] [Server thread/INFO]: This server is running Cauldron-MCPC-Plus version git-Cauldron-Reloaded-1.7.10-1.1388.1.0 (MC: 1.7.10) (Implementing API version 1.7.10-R0.1-SNAPSHOT)
[21:17:20] [Server thread/INFO]: Server Ping Player Sample Count: 12
[21:17:20] [Server thread/WARN]: =============================================================
[21:17:20] [Server thread/WARN]: MOD HAS DIRECT REFERENCE System.exit() THIS IS NOT ALLOWED REROUTING TO FML!
[21:17:20] [Server thread/WARN]: Offendor: org/spigotmc/RestartCommand.restart()V
[21:17:20] [Server thread/WARN]: Use FMLCommonHandler.exitJava instead
[21:17:20] [Server thread/WARN]: =============================================================
[21:17:21] [Server thread/INFO]: Using 4 threads for Netty based IO
[21:17:21] [Server thread/INFO]: Generating keypair
[21:17:21] [Server thread/INFO]: Starting Minecraft server on *:25565
[21:17:21] [Server thread/WARN]: **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
[21:17:21] [Server thread/WARN]: The server will make no attempt to authenticate usernames. Beware.
[21:17:21] [Server thread/WARN]: While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose.
[21:17:21] [Server thread/WARN]: To change this, set "online-mode" to "true" in the server.properties file.
[21:17:21] [Server thread/INFO]: Forge Mod Loader has successfully loaded 3 mods
[21:17:21] [Server thread/INFO]: Preparing level "The world for my Panda"
[21:17:21] [Server thread/INFO]: Registered command debug with permission node vanilla.command.debug
[21:17:21] [Server thread/INFO]: Registered command spreadplayers with permission node vanilla.command.spreadplayers
[21:17:21] [Server thread/INFO]: Registered command playsound with permission node vanilla.command.playsound
[21:17:21] [Server thread/INFO]: Registered command scoreboard with permission node vanilla.command.scoreboard
[21:17:21] [Server thread/INFO]: Registered command achievement with permission node vanilla.command.achievement
[21:17:21] [Server thread/INFO]: Registered command summon with permission node vanilla.command.summon
[21:17:21] [Server thread/INFO]: Registered command setblock with permission node vanilla.command.setblock
[21:17:21] [Server thread/INFO]: Registered command testforblock with permission node vanilla.command.testforblock
[21:17:21] [Server thread/INFO]: Registered command tellraw with permission node vanilla.command.tellraw
[21:17:21] [Server thread/INFO]: Registered command netstat with permission node vanilla.command.netstat
[21:17:21] [Server thread/INFO]: Injecting existing block and item data into this server instance
[21:17:21] [Server thread/INFO]: Applying holder lookups
[21:17:21] [Server thread/INFO]: Holder lookups applied
[21:17:21] [Server thread/INFO]: Loading dimension 0 (The world for my Panda) (net.minecraft.server.dedicated.DedicatedServer@2237387f)
[21:17:22] [Server thread/INFO]: Loading dimension 1 (DIM1) (net.minecraft.server.dedicated.DedicatedServer@2237387f)
[21:17:22] [Server thread/INFO]: Loading dimension -1 (DIM-1) (net.minecraft.server.dedicated.DedicatedServer@2237387f)
[21:17:22] [Server thread/INFO]: Preparing start region for level 0
[21:17:22] [Server thread/INFO]: Server permissions file permissions.yml is empty, ignoring it
[21:17:22] [Server thread/INFO]: Done (1,457s)! For help, type "help" or "?"
[21:17:22] [Server thread/INFO]: Registered command forge with permission node net.minecraftforge.server.command.ForgeCommand
[21:17:57] [Server thread/INFO]: CONSOLE: Stopping the server..
[21:17:57] [Server thread/INFO]: Stopping server
[21:17:57] [Server thread/INFO]: Saving players
[21:17:57] [Server thread/INFO]: Saving worlds
[21:17:57] [Server thread/INFO]: Saving chunks for level 'The world for my Panda'/Overworld
[21:17:57] [Server thread/INFO]: Saving chunks for level 'DIM1'/The End
[21:17:57] [Server thread/INFO]: Saving chunks for level 'DIM-1'/Nether
[21:17:57] [Server thread/INFO]: Unloading dimension 0
[21:17:57] [Server thread/INFO]: Unloading dimension -1
[21:17:57] [Server thread/INFO]: Unloading dimension 1
[21:17:57] [Server thread/INFO]: Applying holder lookups
[21:17:57] [Server thread/INFO]: Holder lookups applied
 
Последнее редактирование:
Тимафей,
А для клиента строка какая будет?
вообще под случай свой подбирается, что и как лучше будет и под хотелки тоже может быть.
CMS - ConcMarkSweep - Concurrent Mark Sweep, один из видов сборщика мусора, вы по каким критериям составляли аргументы запуска?
часть параметров что вы написали может быть "уже включено" и прописывать их не нужно будет, если они не были выключены другими параметрами и вам обратно не надо их включать.
в случае с котлом данные нужны с обоих логов, и нет аргумента (-XX:+PrintCommandLineFlags) который был писал в консоль (не лог) конечные параметры и вообще все параметры (а это другой аргумент - -XX:+PrintFlagsFinal).

ПС какой набор модов и плагинов на сервере? И набор модов на клиенте?
 
Последнее редактирование:
Назад
Верх Низ