2016-05-03 14 views
2

我有一个在ec2亚马逊服务器上运行的Elasticsearch集群。在本article捕捉到从正在运行的JVM堆转储的方式描述是使用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谢谢你的呜呼! ;) –

相关问题