命令jhsdb jmap --heap --pid 1 報錯


一、查看已經運行的java docker服務的堆使用情況。命令jhsdb jmap --heap --pid 1 報錯

主要錯誤信息:

  ERROR: ptrace(PTRACE_ATTACH, ..) failed for 1: Operation not permitted
  Error attaching to process: sun.jvm.hotspot.debugger.DebuggerException: Can't attach to the process: ptrace(PTRACE_ATTACH, ..) failed for 1: Operation not permitted

原因:

  Docker 自 1.10 版本開始加入的安全特性。 jmap 這類 JDK 工具依賴於 Linux 的 PTRACE_ATTACH,而 Docker 自 1.10 版本開始,默認的 seccomp 配置文件中禁用了 ptrace。容器需要加入對應的設置,使容器支持相關命令的使用。

解決:

  1.停止docker服務  systemctl stop docker

  2.cd  /var/lib/docker/containers/容器id  切換到容器路徑

  3.vi hostconfig.json 編輯配置文件,修改CapAdd 的值為SYS_PTRACE

   4. 重啟docker服務  systemctl start docker 

修改后的結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM