Хобрук: Ваш путь к мастерству в программировании

Увеличьте размер памяти службы Apache Tomcat Windows для приложения Java, созданного исполняемым файлом.

У нас есть устаревшее веб-приложение Java, которое мы развертываем на компьютере с Windows Server 2012 с помощью исполняемого файла, и нам необходимо увеличить размер пула памяти, поскольку мы получаем много исключений нехватки памяти.

Он создает свои собственные папки в Program Files, включая папку tomcat bin и службу Windows с именем «Apache Tomcat servicename», которая в основном представляет собой Tomcat версии 6, но когда я пытаюсь изменить его параметры Java через tomcat6w.exe, он говорит, что эта служба не установлена ​​на система.

Есть ли способ изменить службу tomcat, используемую приложением, на службу tomcat, установленную с http://tomcat.apache.org/

Или, может быть, отредактировать service.bat (или любой другой файл?) при создании исполняемого файла, чтобы жестко указать там размер пула памяти?

В service.bat есть строка, как показано ниже:

"%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties" --JvmMs 128 --JvmMx 256

  • Вам нужно проверить, что происходит в исполняемом файле, создающем службу, и внести в него изменения. 27.06.2019

Ответы:


1

Ваш Tomcat будет иметь два исполняемых файла, Tomcat6.exe и Tomcat6w.exe.

Предположим, имя вашей службы — MyService, как показано в разделе «Службы Windows», теперь переименуйте Tomcat6w.exe в MyServicew.exe (обратите внимание, что в имени файла также есть буква «w»).

Теперь дважды щелкните этот MyServicew.exe, и вам будет представлен интуитивно понятный пользовательский интерфейс для Monkey с аргументами службы.

Всего наилучшего!

30.06.2019

2

Увеличьте эти параметры в файле service.bat --JvmMs 128 --JvmMx 256 до --JvmMs 1024 --JvmMx 2048

24.06.2019

3

Похоже, вы не установили Tomcat с помощью установщика JSS. Вы можете использовать tomcat6w, если вы установили Tomcat с помощью установщика JSS.

На этом этапе вам необходимо выполнить следующие шаги:

  • Запустите ярлык, расположенный в меню «Пуск» > «Все программы» > Apache Tomcat x > «Настроить Tomcat».
  • На вкладке Java внесите любые изменения в пул памяти.
  • Сохраните изменения, нажав Применить.
  • Перезапустите Томкэт.
27.06.2019

4

Решение состояло в том, чтобы отредактировать использование оперативной памяти Tomcat через реестр, запустив regedit, перейдя к:

 HKEY_LOCAL_MACHINE > SOFTWARE > Wow6432Node > ApacheSoftwareFoundation >
   Procrun 2.0 > apache-tomcat > Parameters > Java

и редактирование следующих значений:

JvmMs  REG_DWORD   0x00000800 (2048)
JvmMx  REG_DWORD   0x00001000 (4096)

Вышеупомянутое применимо, когда Tomcat установлен как служба Windows и через настраиваемый исполняемый файл, и нет доступа к его конфигурации через tomcatxw.exe менеджер.

28.06.2019

5

Попробуй это

  1. Перейдите в реестр Windows и найдите каталог HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\htfty\Parameters\Java.

  2. Там вы можете увидеть параметры JvmMs и JvmMx. Измените их на нужные значения и перезапустите службу.

28.06.2019
  • @Alex Алекс Неважно, я вижу, что у тебя уже есть решение. Я подготовил ответ вчера, но забыл опубликовать его. 28.06.2019

  • 6

    В каталоге bin установки tomcat должен быть файл с именем catalina.bat ( setenv.bat в apache tomcat 7+ ). Вы можете добавить свои параметры в CATALINA_OPS, и после перезапуска tomcat они должны быть применены. Для проверки того, применяется ли это, используйте jvisualvm (он показывает, какие параметры установлены для вашего jvm).

    30.06.2019
  • Это не применяется, когда Tomcat работает как служба Windows. 02.07.2019
  • просто опечатка, они должны быть catalina.bat и setenv.bat, я обновил свой пост 02.07.2019
  • Я имел в виду, что setenv.bat не вызывается, когда Tomcat работает как служба Windows. Все описанные здесь переменные среды и сценарий setenv используются только в том случае, если вы используете стандартные сценарии для запуска Tomcat. Например, если вы установили Tomcat как службу в Windows, оболочка службы запускает Java напрямую и не использует файлы сценариев. Дополнительная информация здесь: tomcat.apache.org/tomcat-7.0-doc/RUNNING. текст 02.07.2019
  • Новые материалы

    Декларативное и функциональное программирование в стиле LINQ с использованием JavaScript с использованием каррирования и генератора ...
    LINQ - одна из лучших функций C #, которая обеспечивает элегантный способ написания кода декларативного и функционального стиля, который легко читать и понимать. Благодаря таким функциям ES6,..

    Структуры данных в C ++ - Часть 1
    Реализация общих структур данных в C ++ C ++ - это расширение языка программирования C, которое поддерживает создание классов, поэтому оно известно как C с классами . Он используется для..

    Как я опубликовал свое первое приложение в App Store в 13 лет
    Как все началось Все началось три года назад летом после моего четвертого класса в начальной школе. Для меня, четвертого класса, лето кажется бесконечным, пока оно не закончится, и мой отец..

    Что в лицо
    Очерк о возвращении физиогномики и о том, почему мы должны это приветствовать. История начинается со странной науки. Р. Тора Бьорнсдоттир, Николас О. Рул. Видимость социального класса по..

    Почему шаблоны проектирования и почему нет?
    Сложность — мать всех проблем в программировании. Программное обеспечение должно быть разработано с точки зрения того, кто его поддерживает, а не того, кто его пишет, потому что программное..

    Создание дизайна обуви с помощью машинного обучения
    Обувь. Что подождать? Я думал, что речь пойдет о машинном обучении! Ну это так. Если бы вы пошли на Amazon, сколько обуви вы бы нашли? Наверное, много, не так ли? Но много ли в них..

    GraalVM в 2022 году: итоги года
    2022 год был очень продуктивным для проекта и сообщества GraalVM. Вместе мы разработали множество новых функций, выпустили GraalVM для последних версий Java и новых платформ и увидели несколько..