Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

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

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем Starr, 30 сен 2015.

  1. VolanDeVovan

    VolanDeVovan Активный участник Пользователь

    Баллы:
    66
    Xms имел такое же значение как xmx или нет?
     
  2. Хостинг MineCraft
    <
  3. origamerpro

    origamerpro Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    origamerpro
    такое же.
     
  4. MurlikMurlik

    MurlikMurlik Участник Пользователь

    Баллы:
    36
    Извините меня пожалуйста за глупый вопрос.
    Эта команда работает только на ОС linux?
    Просто проверив на винде, пишет что мол ""Taskset" не является внутренней или внешней командой, исполняемой командой или пакетным файлом.".

    Хотелось бы узнать, эта строка повысит производительность?
     
  5. scrik78

    scrik78 Старожил Пользователь

    Баллы:
    123
    данная команда для linux
    в windows гуглите в сторону команды "start" ,опция /affinity
     
  6. MurlikMurlik

    MurlikMurlik Участник Пользователь

    Баллы:
    36
    Строку добавлять над скриптов или перед ним?
    Код:
    #!/bin/bash
    BINDIR=$(dirname "$(readlink -fn "$0")")
    cd "$BINDIR"
    taskset -c 0,1 java -Dfile.encoding=UTF-8 -XX:+UseG1GC -server -Xms3074M -Xmx3074M -Xmn128M -XX:+OptimizeFill -XX:+UseBiasedLocking -XX:ConcGCThreads=2 -XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:MaxGCPauseMillis=1000 -XX:SurvivorRatio=6 -jar spigot-1.8.8.jar -o true
    exit 0
    Это может дать больше производительности?

    И еще, со строками оптимизации все в порядке?
     
  7. scrik78

    scrik78 Старожил Пользователь

    Баллы:
    123
    taskset у вас нормально вписан
     
  8. MurlikMurlik

    MurlikMurlik Участник Пользователь

    Баллы:
    36
    На сервер будет задействовано 2 ядра.
    Это может дать больше производительности? Процессор: 2 ядерный, с частотой 2.10 ghz.
     
  9. Автор темы
    Starr

    Starr Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    _Starr_
    Код:
    #!/bin/bash
    BINDIR=$(dirname "$(readlink -fn "$0")")
    cd "$BINDIR"
    taskset -c 0,1 java -Dfile.encoding=UTF-8 -XX:+UseG1GC -server -Xms3074M -Xmx3074M -Xmn192M -jar spigot-1.8.8.jar -o true
    exit 0
    Лишние аргументы можешь не юзать, за тебя все оптимизировано в жабке уже, другое дело если у тебя машина совсем не ахти, и тпс скачет, можно что-то мудрить с аргументами...

    а насчёт ядер, сборщик мусора насколько знаю юзает все ядра процессора изначально, а сам сервер работает в одном потоке. поэтому тасксетом ты просто ограничиваешь кол-во ядер которые может использовать g1gc
     
  10. MurlikMurlik

    MurlikMurlik Участник Пользователь

    Баллы:
    36
    Машина слабая.
    Процессор старенький(2.10 ghz 2 ядерный)
    Памяти 4 гб
    Тпс скачет если например телепортироватся куда нибудь.
    Я еще юзаю банжи, ей выделил 1 гб, а серверу 3 гб.
    Java 8 уже использует эти аргументы?)
    И стоит юзать аргументы в запуск BungeeCord?
    Код:
    #!/bin/bash
    BINDIR=$(dirname "$(readlink -fn "$0")")
    cd "$BINDIR"
    java -Dfile.encoding=UTF-8 -Xms1024M -Xmx1024M -server -XX:+UseFastAccessorMethods -XX:+AggressiveOpts -jar BungeeCord.jar -o true
    exit 0
     
  11. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Эх. Надо бы как ниб действительно уменьшить затраты на освещение чанков в ванили.
     
  12. Автор темы
    Starr

    Starr Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    _Starr_
    На банжу толк есть юзать? Я же не думаю что у тебя на банже огромный мир с кучей игроков и разных ентити
    Конечно применяй аргументы к самому серверу
     
  13. MurlikMurlik

    MurlikMurlik Участник Пользователь

    Баллы:
    36
    У меня получается немного не обычно.
    На дедике 2 сервера.
    BungeeCord локально адресует на основной сервер.
    И адресует на мой ип.
    Я просто тестирую сервер мини-игр.[DOUBLEPOST=1475154396,1475154335][/DOUBLEPOST]
    Можете посоветовать самые нужные аргументы в запуск исходя из машины?
     
  14. Автор темы
    Starr

    Starr Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    _Starr_
    Я знаю принцип работы банжи, может не обьяснять
    Для банжи нет толка оптимизировать что либо, тк все действия будут происходить на основном сервере

    Аргументы я уже советовал, достаточно лишь к стандартной команде запуска добавить -XX:+UseG1GC и -Xmn192M
    Если сервак пролагивает, когда игрока перекидывает с банжа на основной сервер, тогда берите другую машинку.
     
  15. MurlikMurlik

    MurlikMurlik Участник Пользователь

    Баллы:
    36
    Я убрал ненужные агрументы..
    И теперь вижу такую картину
    https://timings.spigotmc.org/?url=wiligogeje

    Через какое то время TPS падает, но это не так почему то видно.
    Игроки вроде плавно двигаются, но тпс 14 а то и ниже! Такого не было.[DOUBLEPOST=1475402893,1475401010][/DOUBLEPOST]По совету из timings, я вместо 7 поставил 6(ну не очень хочется чанки резать), все равно такая фигня. Может у меня не правильно настроен конфиг spigot.yml?[DOUBLEPOST=1475403308][/DOUBLEPOST]Выполнил команду /stoplag
    После нее удалились мобы.
    Потом /stoplag -c
    И вроде все в порядке. Дело в мобах? Как то можно ограничить число их спавна?
     
  16. Автор темы
    Starr

    Starr Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    _Starr_
    у тебя в основном мире слишком много ентити генерируется, их можно в баккит.умл и спигот.умл ограничить.
    и еще советую настроить chunk-threshold, если на серваке загружено больше определенного кол-ва чанков, он выгружает не используемые. так уменьшается нагрузка
     
  17. C3LT

    C3LT Участник Пользователь

    Баллы:
    31
    Спасибо! Статья полезная! исходя из этой темы, поюзав гугл час, найдя нужные флаги, увеличил TPS с 13,62 до 19,34
     
  18. Lord9000

    Lord9000 Старожил Пользователь

    Баллы:
    103
    Дропни свою строку запуска
     
  19. Bogdan-G

    Bogdan-G Активный участник Пользователь

    Баллы:
    78
    Skype:
    bogdan123493
    Имя в Minecraft:
    BogdanG
    предложение: дописать в ПП темы что часть параметров включена по умолчанию и дописывать их не нужно (исключение только тогда когда др аргумент их выключает).
    возможно меня бомбануло?
    Часть описания параметров jvm в ПП не до конца верны/точны.

    нет, ParallelGC(+ParallelOldGC) чистит память лучше остальных, проверено на HotSpot/OpenJDK, и нет стоп-мир паузы редки и малы чтобы от них отказываться, лаги от компрессии/декомпрессии и др слоу кода куда больше жрут времени в течении работы сервера(общее кол-во времени на сие операции затратил сервер за некое кол-во часов его работы до ребута).
    компания Oracle рекомендует использовать G1GC только при хипе более 16гб, практика и гугл с тестами показывает что CMS лучше чистит мусор чем G1GC (даже при куче выше 16гб)

    ParallelGC лучше работал имхо на J7, тестилось на майне 1.7.10 с форгом(как пара так и пара десятков модов). Про сборщики мусора - проверял и для 1.8/1.8.9/1.9/1.10/1.10.2 ваниль и с парой модов, на J7/J8, версий билдов 80+(например HotSpot 1.8 build 92).

    Из дискорда грегтеха5 неофиц(текст передает смысл, не цитата): jvm аргументы дают эффект плацебо - я с этом частично согласен, ибо часть танцев ничего не дает, отчасти из-за изменений в коде форга и модов.

    Прочел почти всю тему, мдя, видно не знание мат. части господа.
    вжжжух, без конкретики и случая это очень сомнительно, скорее самопил будет лучше, но только после тестов JMH/Unit.

    тесты показали что добавление Xms на клиент-сервер с модами (грегтех тоже стоит) увеличивает потребление памяти на процесс, ускорение запуска не обнаружено.
     
    Последнее редактирование: 11 дек 2016
  20. MasterCapeXD

    MasterCapeXD Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    MasterCapeXD
    Напомните мне пж сколько памяти на 1 игрока выделять? И сколько еще надо дать плагинам (у меня на сервере в среднем 21-22 плагина)
     
  21. Bogdan-G

    Bogdan-G Активный участник Пользователь

    Баллы:
    78
    Skype:
    bogdan123493
    Имя в Minecraft:
    BogdanG
    по ситуации
     

Поделиться этой страницей