barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)
Показаны сообщения с ярлыком Xmx. Показать все сообщения
Показаны сообщения с ярлыком Xmx. Показать все сообщения

четверг, 2 июля 2015 г.

Maven: OutOfMemory при выполнении тестов

Проблема

Есть проект, собираемый maven. При выполнении тестов они падают с OutOfMemory.

Решение

Задать настройки памяти для выполнения тестов в конфигурации maven-surefire-plugin, например:
     <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.18</version>
        <configuration>
          <forkMode>pertest</forkMode>
          <argLine>-Xms512m -Xmx2048m -XX:MaxPermSize=512m -XX:PermSize=128m</argLine>
          <testFailureIgnore>false</testFailureIgnore>
          <skip>false</skip>
        </configuration>
      </plugin>

пятница, 13 апреля 2012 г.

Tomcat 6 на Debian Squeeze / Mint 13

Особенности томката 6, поставленного из репозиториев Debian Squeeze / Mint 13:
  1. CATALINA_HOME: /usr/share/tomcat6 - директории /lib и /bin
  2. CATALINA_BASE: /var/lib/tomcat6 - директории common, conf, logs, server, shared, webapps, work. При этом часть из них - симлинки:



  3. В /etc/tomcat6/server.xml нет UTF-8 для коннектора AJP, поэтому необходимо его добавить, если используется проксирование по AJP и русские символы в параметрах запросов (по-умолчанию используется ISO-8859-1):
  4.     <!-- Define an AJP 1.3 Connector on port 8009 -->
        <Connector port="7781" protocol="AJP/1.3" redirectPort="8443"
                   URIEncoding="UTF-8" />
  5. Может показаться, что параметры JVM можно задать в /etc/init.d/tomcat6 (в строке JAVA_OPTS = ...), однако это не так, т.к. заданные в этой строке опции затираются ниже по скрипту значениями из файла умолчаний:


    Файл умолчаний расположен в /etc/default/tomcat6 и задает опции:
    JAVA_OPTS="-Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC"
  6. Поэтому опции JVM нужно менять либо в нём, либо в /etc/init.d/tomcat6, уже после загрузки опций из файла умолчаний.