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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/409559

相关文章

SpringBoot实现虚拟线程的方案

《SpringBoot实现虚拟线程的方案》Java19引入虚拟线程,本文就来介绍一下SpringBoot实现虚拟线程的方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录什么是虚拟线程虚拟线程和普通线程的区别SpringBoot使用虚拟线程配置@Async性能对比H

javaSE类和对象进阶用法举例详解

《javaSE类和对象进阶用法举例详解》JavaSE的面向对象编程是软件开发中的基石,它通过类和对象的概念,实现了代码的模块化、可复用性和灵活性,:本文主要介绍javaSE类和对象进阶用法的相关资... 目录前言一、封装1.访问限定符2.包2.1包的概念2.2导入包2.3自定义包2.4常见的包二、stati

SpringBoot结合Knife4j进行API分组授权管理配置详解

《SpringBoot结合Knife4j进行API分组授权管理配置详解》在现代的微服务架构中,API文档和授权管理是不可或缺的一部分,本文将介绍如何在SpringBoot应用中集成Knife4j,并进... 目录环境准备配置 Swagger配置 Swagger OpenAPI自定义 Swagger UI 底

解决hive启动时java.net.ConnectException:拒绝连接的问题

《解决hive启动时java.net.ConnectException:拒绝连接的问题》Hadoop集群连接被拒,需检查集群是否启动、关闭防火墙/SELinux、确认安全模式退出,若问题仍存,查看日志... 目录错误发生原因解决方式1.关闭防火墙2.关闭selinux3.启动集群4.检查集群是否正常启动5.

SpringBoot集成EasyExcel实现百万级别的数据导入导出实践指南

《SpringBoot集成EasyExcel实现百万级别的数据导入导出实践指南》本文将基于开源项目springboot-easyexcel-batch进行解析与扩展,手把手教大家如何在SpringBo... 目录项目结构概览核心依赖百万级导出实战场景核心代码效果百万级导入实战场景监听器和Service(核心

idea Maven Springboot多模块项目打包时90%的问题及解决方案

《ideaMavenSpringboot多模块项目打包时90%的问题及解决方案》:本文主要介绍ideaMavenSpringboot多模块项目打包时90%的问题及解决方案,具有很好的参考价值,... 目录1. 前言2. 问题3. 解决办法4. jar 包冲突总结1. 前言之所以写这篇文章是因为在使用Mav

Spring Security6.3.x的使用指南与注意事项

《SpringSecurity6.3.x的使用指南与注意事项》SpringSecurity6.3.1基于现代化架构,提供简洁配置、增强默认安全性和OAuth2.1/OIDC支持,采用Lambda... 目录介绍基础配置 (Servlet 应用 - 使用 Lambda DSL)关键配置详解(Lambda DS

Java Stream 的 Collectors.toMap高级应用与最佳实践

《JavaStream的Collectors.toMap高级应用与最佳实践》文章讲解JavaStreamAPI中Collectors.toMap的使用,涵盖基础语法、键冲突处理、自定义Map... 目录一、基础用法回顾二、处理键冲突三、自定义 Map 实现类型四、处理 null 值五、复杂值类型转换六、处理

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1

在Java中实现线程之间的数据共享的几种方式总结

《在Java中实现线程之间的数据共享的几种方式总结》在Java中实现线程间数据共享是并发编程的核心需求,但需要谨慎处理同步问题以避免竞态条件,本文通过代码示例给大家介绍了几种主要实现方式及其最佳实践,... 目录1. 共享变量与同步机制2. 轻量级通信机制3. 线程安全容器4. 线程局部变量(ThreadL