Память JVM задаётся раздельно, автоперезапуск можно отменить

Панель принудительно ставила -Xms равным -Xmx: куча не растёт на ходу, но
JVM обязана занять весь объём при старте. На машине с 5 ГБ ОЗУ сервер с
4g так вообще не поднимался — «Failed to allocate initial Java heap».

Теперь -Xmx задаётся как раньше, а -Xms стал отдельным полем профиля и по
умолчанию пуст: JVM берёт память по мере надобности. Пара значений
проверяется при сохранении профиля, а не при запуске сервера, — про
опечатку лучше узнать из формы, чем из лога упавшего сервера.

Там же в супервизоре: ожидание автоподъёма стало отдельным состоянием.
Раньше упавший сервер уходил в цикл «падение — пауза 10 секунд — падение»,
причём во время паузы он считался остановленным, и прервать это было
нечем. Теперь паузу видно в статусе с обратным отсчётом и её можно
отменить, а после трёх падений сразу после запуска подряд панель
перестаёт поднимать сервер сама: так проявляется нехватка памяти или
битый конфиг, и перезапуск тут не помогает.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-05 02:25:16 +03:00
co-authored by Claude Opus 5
parent f6eba8c75c
commit e78a72d516
6 changed files with 380 additions and 37 deletions
+5
View File
@@ -34,6 +34,11 @@ type Profile struct {
// запуске: файл запуска сервера общий для всех профилей.
JavaMemory string `yaml:"java_memory"`
// JavaMemoryMin — -Xms. Пусто (по умолчанию) означает, что JVM занимает
// память по мере надобности: равные -Xms и -Xmx заставляют её забрать всё
// сразу, и на машине с небольшой ОЗУ сервер не поднимется.
JavaMemoryMin string `yaml:"java_memory_min"`
// ExtraArgs — дополнительные аргументы start-server.sh.
ExtraArgs []string `yaml:"extra_args"`
}