До сих пор я столкнулся с тремя ситуациями, используя Tomcat: во -первых, используйте Eclipse, настройте Tomcat в Eclipse. Во -вторых, развернуть проект непосредственно в Tomcat. В -третьих, установите Tomcat в качестве службы Windows.
В этих трех случаях появляется Outofmemoryerr. Здесь я должен упомянуть, что меня трагически пострадали эти безответственные статьи в Интернете. Я попробовал всевозможные способы установить память, но она просто не сработала. Методы, которые я упомянул ниже, протестированы мной, и нет никаких проблем.
Первый случай:
Как показано на картинке: я сделал это с красной рамой. Среди них XMS и XMX являются параметрами начального размера кучи и максимального размера кучи виртуальной машины Java, который в основном предназначен для решения причин, вызванных недостаточным пространством на джаве. XX: Permsize и XX: Maxpermsize - это параметры, которые увеличивают начальный размер площади постоянного хранения и максимальный размер постоянного хранения. Пространство для загрузки классов, которое связано с пространством постоянного поколения.
Второй случай:
Поместите скомпилированный проект непосредственно в Tomcat и используйте startup.bat, чтобы начать службу Tomcat. Следующим образом в папке Tomca's Bin:
В этом случае нам нужно изменить параметры в Catalina.Bat. Откройте это. Найдите эти два предложения:
rem угадайте Catalina_home, если не определено
Установите "current_dir =%cd%"
Добавьте это предложение к этим двум предложениям, и обязательно: установите «java_opts = -xms512m -xmx1024m -xx: permsize = 256m -xx: maxpermsize = 512m»
В Интернете много подобных вещей, но многие из них не были опробованы.
Третья ситуация:
Если ваш Tomcat зарегистрирован в качестве службы Windows и запускается в службе, то вышеупомянутый метод недействителен, потому что в это время начало Tomcat - это прочитать параметры реестра, а не параметры пакетного файла. этот. : Найдите Tomcat7w.exe в каталоге Bin Tomcat и Open:
Под параметрами Java: начальный пул памяти ниже находится инициализация размера памяти кучи, а максимальный пул памяти - максимальный размер памяти кучи. Чтобы установить размер Perm Gen Pool, вам необходимо добавить параметры в опцию Java и добавить:
-Dcatalina.base =%tomcat_home%
-Dcatalina.home =%tomcat_home%
-Djava.endorsed.dirs =%tomcat_home%/endorsed
-Djava.io.tmpdir =%tomcat_home%/temp
-Xx: permsize = 256 м
-Xx: maxpermsize = 256 м
-Xx: ReservedCodeCachesize = 48M
-Duser.Timezone = GMT+08
(Нет места после каждой строки) Я пробовал этот метод, он работает. Вы также можете добавить параметры непосредственно в реестр. Я не буду представить это, я сам не пробовал.
На самом деле, не сложно решить проблему памяти Tomcat. Мы уже давно беспокоились об этой проблеме. Если вы используете Eclipse, в консоли будет напечатано сообщение об ошибке. Но мы установили службу Tomcat в службу Windows, поэтому мы не могли увидеть никаких подсказок об ошибках. После того, как проект был запущен, он всегда был в состоянии ожидания, что было очень медленным, что заставило людей запутаться. Короче говоря, неопытный.
Вышеупомянутое дело о решении OutofmemoryError в Java, и я надеюсь, что это будет полезно для каждого обучения.