2016-05-03 2 views
2

У меня есть кластер Elasticsearch, работающий на сервере ec2 amazon. Как описано в этом article способ захвата дампа кучи от работающей виртуальной машины Java заключается в использовании jmap:Как захватить кучу кучи из запущенной JVM

sudo jmap -dump:format=b,file=heap.hprof {processID} 

error: {processID}: well-known file is not secure

Jmap требует от пользователя, что запустить процесс таким образом, я должен выполнить команду, как:

sudo -u elasticsearch jmap -dump:format=b,file=heap.hprof {processID} 

error:

Dumping heap to /home/ubuntu/heap.hprof ...

Permission denied

Так что я думаю, я должен использовать jmap как это:

sudo -u elasticsearch sh -c "sudo jmap -dump:format=b,file=heap.hprof {processID}" 

[sudo] password for elasticsearch:

Что такое пароль пользователя elasticsearch? Есть ли значение по умолчанию? Я не нашел никакого решения для этого ...

ответ

2

Вам необходимо сделать каталог, в который вы будете писать, записываться как пользователь, который будет писать, или вы можете использовать каталог, который каждый пользователь может написать, например.

sudo -u elasticsearch jmap -dump:format=b,file=/tmp/es-heap.hprof {processID} 
+0

@Rada Благодарим вас за Whoohoo! ;) –

Смежные вопросы