Мне нужно попытаться улучшить время запуска относительно большого безголового Java-приложения, настраивающего параметры VM / launcher (предпринимаются отдельные усилия для достижения той же цели, настраивая реальный код).
Выбранная виртуальная машина является стандартной OpenJDK Java-8.
openjdk version "1.8.0_102-internal"
OpenJDK Runtime Environment (build 1.8.0_102-internal-b14, profile compact3)
OpenJDK VM (build 25.102-b14, interpreted mode)
Хост-компьютер представляет собой встроенный (32-разрядный) ARM7 под управлением Linux.
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 38.40
Цель, как сказано, состоит в том, чтобы улучшить время запуска; производительность во время выполнения приемлема.
Может кто-нибудь предложить настройки самой виртуальной машины, чтобы значительно улучшить время выполнения заказа.
Примечание: я знаю о возможных преимуществах опции "-client" и буду экспериментировать с ней как можно скорее; Есть ли возможные недостатки? Любой другой?
Пояснение:
«Интересное число» - это время, необходимое от включения целевого устройства до того момента, когда приложение будет готово принимать команды.
Он состоит из трех частей:
- Время загрузки системы: выходит за рамки этого вопроса. Единственное влияние - Java запускается довольно рано, поэтому некоторые другие фоновые процессы могут украсть вычислительную мощность; возможно, может помочь какое-то масштабирование приоритетов за счет какого-то другого процесса.
- Запуск виртуальной машины Java: это основное внимание к этому вопросу.
- Время запуска приложения: это следует вычислять при оптимизации, но сама оптимизация приложения (например, отложенная загрузка «неиспользуемых» классов ») не является частью этого вопроса, однако следует помнить, потому что любое решение сокращение времени запуска виртуальной машины, но увеличение времени запуска приложения не сильно поможет.