2016-05-03 48 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謝謝你的嗚呼! ;) –

相關問題