понедельник, 16 мая 2016 г.

Отключение дампов памяти при ошибке в Upsource и Cassandra

Последнее время Upsource стал занимать неприлично большое кол-во дискового пространства, при 9 подключенных проектах. Быстрый анализ показал наличие дампов памяти в папке \logs\cassandra.

Логи можно безболезненно удалить и внести изменение в конфигурацию (описано ниже), либо настроить регулярное задание по очистке дампов средствами ОС, подход каждый решает сам.

По умолчанию JVM запускается с опцией -XX:+HeapDumpOnOutOfMemoryError, это значит, что при возникновении ошибки OutOfMemory будет сделан дамп памяти и записан по умолчанию в \logs\cassandra в виде файлов формата pidXXXXX_.hprof.

Для отключения этой опции необходимо в файлах launcher.setenv.bat, либо в launcher.setenv.sh (зависит от ОС), убрать удалить опцию -XX:+HeapDumpOnOutOfMemoryError

Файлы расположены по следующим путям:
 \launcher\conf  
 \apps\cassandra\launcher\conf  
 \apps\hub\launcher\conf  
 \apps\upsource-analyzer\launcher\conf  
 \apps\upsource-frontend\launcher\conf  
 \apps\upsource-monitoring\launcher\conf  
 \apps\vcs-settings\launcher\conf  

P.S. Описанный способ только устраняет последствия, настоятельно рекомендую найти причину ошибки и устранить её.