首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

聊聊openjdk的jhsdb工具

在java9之前,JAVA_HOME/lib目录下有个sa-jdi.jar,可以通过如上命令启动HSDB(图形界面)及CLHSDB(命令行) sa-jdi.jar中的sa的全称为Serviceability...Agent,它之前是sun公司提供的一个用于协助调试HotSpot的组件,而HSDB便是使用Serviceability Agent来实现的 HSDB就是HotSpot Debugger的简称,由于Serviceability...sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal$LinuxDebuggerLocalWorkerThread.run(LinuxDebuggerLocal.java:151) 发现PTRACE_ATTACH被docker禁用了,需要在运行容器时启用...,可以通过如上命令启动HSDB(图形界面)及CLHSDB(命令行);sa-jdi.jar中的sa的全称为Serviceability Agent,它之前是sun公司提供的一个用于协助调试HotSpot的组件...;对于jdk9及以后的版本不再使用jmap -heap命令来查询heap内存情况,需要用jhsdb jmap --heap --pid来替代;使用jhsdb jmap需要在运行容器时启用PTRACE_ATTACH

3.9K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用线程池时候当程序结束时候记得调用shutdown关闭线程池

    ,那么下面在简单看下工作线程Worker里面是不是发现中断标志被设置了就会退出了。...(2)等待从工工作队列里面获取一个任务,这时候如果调用了线程池的shutdown命令而shutdown命令会中断所有工作线程,所以代码(2)会抛出处抛出InterruptedException异常而返回...我们在实际做项目或者研发框架时,很多情况下就是在框架留出的扩展接口上进行定制,所以很有必要对这些框架留出了哪些扩展点,这些扩展点是干啥用的有个心知肚明的了解。...image.png ## 二、SpringBoot核心模块原理分析Chat(文章审核中) 最近微服务很火,SpringBoot 以其轻量级,内嵌 Web 容器,一键启动,方便调试等特点被越来越多的微服务实践者所采用...包里面当前目录或者文件类里面的*.class文件,SpringBoot 允许我们使用 java -jar archive.jar 运行包含嵌套依赖 jar 的 jar 或者 war 文件,那么 SpringBoot

    6.6K40

    超过90%的Android开发都回答不全的性能优化面试题

    优化图片加载(以Glide为例) 限制图片尺寸:避免加载原图 启用内存/磁盘缓存 Glide.with(context) .load(imageUrl) .override(300, 300...匿名内部类泄漏案例 // 错误示例:匿名Runnable持有Activity引用 object : Runnable { override fun run() { // 直接访问...避免过度绘制 开启调试工具:开发者选项 → 显示过度绘制 优化策略: 移除不必要的背景 使用canvas.clipRect()限制绘制区域 如何优化APK体积?...耗电场景分析 频繁网络请求:移动无线电激活状态耗电 WakeLock滥用:阻止设备进入休眠 后台定位:GPS持续工作 优化策略与代码 1....仅在充电+网络连接时执行) val constraints = Constraints.Builder() .setRequiresCharging(true) .setRequiredNetworkType

    10610

    线上 JVM 调优工具 Athars 入门

    如果在生产环境中遇到问题,则无法使用 IDE 远程调试。更糟糕的是,在生产环境中调试是不可接受的,因为它会暂停所有线程,导致服务暂停。 开发人员可以尝试在测试环境或者预发环境中复现生产环境中的问题。...当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?...Attach 到目标进程上的 arthas 还会继续运行,端口会保持开放,下次连接时可以直接连接上。 如果想完全退出 arthas,可以执行stop命令。...鉴权 auth: 鉴权 3.6 options options: 查看或设置 Arthas 全局开关 3.7 管道 当线上出现偶发的问题,比如需要 watch 某个条件,而这个条件一天可能才会出现一次时,...grep: 匹配查找,和 linux 里的 grep 命令类似 help: 查看命令帮助信息 history: 打印命令历史 keymap: Arthas 快捷键列表及自定义快捷键 pwd: 返回当前的工作目录

    42110

    jstack是如何获取threaddump的?

    一时好奇,想看看jstack是如何实现的? jstack使用小例子 先以一个小场景简单示范下 jstack 的使用。 场景:Java应用持续占用很高CPU,需要排查一下。...我启动了100个线程持续访问 我的博客,博客部署在Ubuntu 16.04上,是一个简单的Spring Boot应用,以jar包直接运行的。...[490b953d116c42a0b693aef0ed389b35.png] jps -l 确认一下,31951就是博客的进程ID,或 cat /proc/31951/cmdline 看下进程的启用命令...更深入的源码分析,可以看看 聊聊jstack的工作原理。 先以一段简单代码打印threaddump,和stack命令效果一样,下面的类基本来自 tools.jar。...小结 所谓"工欲善其事,必先利其器",在工作中根据各种场景熟练玩转各类常用工具,能极大的提高效率。 --- 欢迎关注陈同学的公众号,一起学习,一起成长 [2e9udblcn5.jpeg]

    2.3K50

    不停服务调试(debug)线上Rsyslog

    调试 -如果存在,则打开调试系统并启用调试输出 DebugOnDemand-如果存在,则打开调试系统,但本身不会启用调试输出。您需要发送SIGUSR1以在需要时将其打开。...仅在Linux下可用。当特权被丢弃时,这通常不起作用(这不是错误,而是错误的方式)。 帮助 -显示非常简短的命令列表-如果您无法访问文档,希望可以节省生命… 各个选项之间用空格隔开。...使用环境变量仍然具有rsyslogd初始化就可以正常工作的好处。最重要的是,这是在读取rsyslog.conf之前。...因此,建议仅出于某种原因启用DebugOnDemand模式。请注意,当未启用任何调试模式时,SIGUSR1将被完全忽略。...再次发送时,调试输出将停止。 kill -USR1`cat / var / run / rsyslogd.pid` 注意事项 启用调试输出后,调试文件将快速增长。确保没有永久启用它。

    1.2K40

    使用Spring Boot DevTools优化你的开发体验

    原理简介 您可能会说,了解Spring Boot Dev Tools的工作原理并不重要,但是由于开发过程中存在很多复杂的情况,所以了解Spring Boot Dev Tools的工作原理是对我们有帮助的...远程调试 Spring Boot Dev Tools所展现的高效便捷之处不仅仅局限于本地调试,对于远程调试也有很好的支持。选择性地启用远程支持是因为启用它可能会带来安全风险。...仅当在受信任的网络上运行或使用SSL保护时,才应启用它。如果这两个选项都不满足,则不应使用DevTools的远程支持。您永远不应该在生产环境中启用他。...调试演示 在项目文件夹中运行命令 mvn package生成jar文件,将jar文件部署到服务器(在这里我们以本地运行jar包的方式来模拟远程部署)。...而Developer Tools的出现缓解了这个问题,他使应用程序的调试更加的便捷高效。

    79920
    领券