Error attaching to process sun.jvm.hotspot.debugger.DebuggerException cannot open binary file

本文主要是介绍Error attaching to process sun.jvm.hotspot.debugger.DebuggerException cannot open binary file,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Error attaching to process sun.jvm.hotspot.debugger.DebuggerException cannot open binary file?

问题描述

使用 jinfo jmap 查看java进程时候出现以下错误:

请添加图片描述

出错描述:使用jinfo查看jvm参数时候报错 Error attaching to process sun.jvm.hotspot.debugger.DebuggerException cannot open binary file

出错原因Linux系统加入了 ptrace-scope 机制,防止用户访问正在执行的进程的内存,而 jinfo,jmap 这些调试类工具本身就是利用 ptrace 来获取执行进程的内存等信息。

问题处理

查看内核参数

sysctl -n kernel.yama.ptrace_scope

kernel.yama.ptrace_scope 两种取值:

  • 1:表示禁止用户访问正在执行的进程的内存
  • 0:表示可以访问

请添加图片描述

那么解决办法就是修改这个参数值,将其改为可以访问内存,即 0 即可

1、解决办法一

直接修改:

sysctl -w kernel.yama.ptrace_scope=0

请添加图片描述

修改完再次查看即可,再次使用jinfo 就不会出现问题,完美解决

请添加图片描述

2、解决办法二

输入值到ptrace_scope文件中

echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope

tee:标准输出流输出到文件,意思是将0这个值输出到ptrace_scope这个文件

再次输入,即解决问题

请添加图片描述

注意:

如果以上两种方法都不能够解决你的问题,就需要查看 当前系统的java版本与你应用启动的 java版本是否一致,应该jinfo这种都是以系统的环境变量配置的java来执行的,如果你的应用版本不一致,那么肯定是获取不到的

java -version # 查看系统java版本信息

这篇关于Error attaching to process sun.jvm.hotspot.debugger.DebuggerException cannot open binary file的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/weixin_42272869/article/details/124174890
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/409559

相关文章

Java如何从Redis中批量读取数据

《Java如何从Redis中批量读取数据》:本文主要介绍Java如何从Redis中批量读取数据的情况,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一.背景概述二.分析与实现三.发现问题与屡次改进3.1.QPS过高而且波动很大3.2.程序中断,抛异常3.3.内存消

SpringBoot使用ffmpeg实现视频压缩

《SpringBoot使用ffmpeg实现视频压缩》FFmpeg是一个开源的跨平台多媒体处理工具集,用于录制,转换,编辑和流式传输音频和视频,本文将使用ffmpeg实现视频压缩功能,有需要的可以参考... 目录核心功能1.格式转换2.编解码3.音视频处理4.流媒体支持5.滤镜(Filter)安装配置linu

在Spring Boot中实现HTTPS加密通信及常见问题排查

《在SpringBoot中实现HTTPS加密通信及常见问题排查》HTTPS是HTTP的安全版本,通过SSL/TLS协议为通讯提供加密、身份验证和数据完整性保护,下面通过本文给大家介绍在SpringB... 目录一、HTTPS核心原理1.加密流程概述2.加密技术组合二、证书体系详解1、证书类型对比2. 证书获

Java使用MethodHandle来替代反射,提高性能问题

《Java使用MethodHandle来替代反射,提高性能问题》:本文主要介绍Java使用MethodHandle来替代反射,提高性能问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录一、认识MethodHandle1、简介2、使用方式3、与反射的区别二、示例1、基本使用2、(重要)

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

eclipse如何运行springboot项目

《eclipse如何运行springboot项目》:本文主要介绍eclipse如何运行springboot项目问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目js录当在eclipse启动spring boot项目时出现问题解决办法1.通过cmd命令行2.在ecl

Java中的Closeable接口及常见问题

《Java中的Closeable接口及常见问题》Closeable是Java中的一个标记接口,用于表示可以被关闭的对象,它定义了一个标准的方法来释放对象占用的系统资源,下面给大家介绍Java中的Clo... 目录1. Closeable接口概述2. 主要用途3. 实现类4. 使用方法5. 实现自定义Clos

Jvm sandbox mock机制的实践过程

《Jvmsandboxmock机制的实践过程》:本文主要介绍Jvmsandboxmock机制的实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、背景二、定义一个损坏的钟1、 Springboot工程中创建一个Clock类2、 添加一个Controller

SpringBoot实现文件记录日志及日志文件自动归档和压缩

《SpringBoot实现文件记录日志及日志文件自动归档和压缩》Logback是Java日志框架,通过Logger收集日志并经Appender输出至控制台、文件等,SpringBoot配置logbac... 目录1、什么是Logback2、SpringBoot实现文件记录日志,日志文件自动归档和压缩2.1、