背景:
在进行压测使用jmap命令插查看线程的jvm信息时,jmap -heap pid 命令执行后报错了
报错内容如下:
1、百度以为是Linux系统加入了 ptrace-scope 机制,防止用户访问正在执行的进程的内存,而 jinfo,jmap 这些调试类工具本身就是利用 ptrace 来获取执行进程的内存等信息。
2、然后根据提示查看了服务器上的这个 ptrace-scope是不是开启的
sysctl -n kernel.yama.ptrace_scope
0是允许访问,1是不允许访问
3、查看后是允许访问的
4、最终原因是因为系统里java版本和应用启动的java不一样


5、但是还没找到解决方法
Error attaching to process: sun.jvm.hotspot.debugger.DebuggerException: cannot open binary file sun.
于 2022-07-06 18:03:40 首次发布
在压测时使用jmap -heap pid命令查看线程的jvm信息报错。经排查,虽Linux系统ptrace - scope机制允许访问,但最终发现是系统里Java版本和应用启动的Java版本不一致导致报错,目前尚未找到解决方法。

2万+





