如何调试 JVM 中的挂起线程?

2024-01-18

我正在远程 Ubuntu 服务器上运行一个持久的 Java 程序,我在该服务器上拥有 root 用户权限。一段时间后,某些 CPU 核心的使用率会达到 100%。日志没有显示任何可疑之处,应用程序仍然可以运行,但吞吐量有所下降。

如何调试 JVM,以便在它仍在运行时找出其原因?


一种选择是VisualVM http://visualvm.java.net/,从 Java 1.6 开始包含在 JDK 中。我发现它在过去的某些情况下很有用。

您可以连接到本地应用程序或远程应用程序。

要连接到远程应用程序,请运行jstatd在远程服务器上,然后在本地运行 VisualVM 并输入服务器的 IP 地址。您应该会获得一份正在运行的 Java 应用程序列表,其中包括您希望探索的应用程序。如果您在列出应用程序时遇到任何问题,VisualVM 网站上提供了很好的文档。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何调试 JVM 中的挂起线程? 的相关文章

  • 由于连接超时,无法通过 ImageIO.read(url) 获取图像

    下面的代码似乎总是失败 URL url new URL http userserve ak last fm serve 126 8636005 jpg Image img ImageIO read url System out printl
  • 通过 InjectMocks Spy 注入对象

    我需要对一个类运行一系列单元测试 该类具有 Autowired Logger 实现 实现的基本思想是 Mock Logger logger InjectMocks TestedClass tested 但我想保存日志输出功能 Mockito
  • 在调试模式下运行 NPX 命令

    我有一些npx create react app命令卡住了 终端上没有显示任何错误 所以 我需要运行npx in 调试模式 有没有办法获得debug登录npx命令来识别问题 edit 我运行的命令 npx create react app
  • Spring Stomp over Websocket:流式传输大文件

    我的SockJs客户端在网页中 发送帧大小为16K的消息 消息大小限制决定了我可以传输的文件的最大大小 以下是我在文档中找到的内容 Configure the maximum size for an incoming sub protoco
  • cucumber-junit-platform-engine 中的功能文件发现

    In cucumber junit我使用的库 CucumberOptions定义功能文件位置 package com mycompany cucumber import cucumber api CucumberOptions import
  • Install4j:如何在安装结束时执行命令行 java -jar filename.jar

    在 Intall4j 中 在安装结束时 我只想通过执行如下命令行来初始化某些内容 java jar filename jar 我怎样才能归档这个任务install4j Thanks 将 运行可执行文件或批处理文件 操作添加到 安装屏幕 并设
  • 如何在java中使jpeg无损?

    有没有人可以告诉我如何使用编写 jpeg 文件losslessjava中的压缩 我使用下面的代码读取字节来编辑字节 WritableRaster raster image getRaster DataBufferByte buffer Da
  • 覆盖 MATLAB 默认静态 javaclasspath 的最佳方法

    MATLAB 配置为在搜索用户可修改的动态路径之前搜索其静态 java 类路径 不幸的是 静态路径包含相当多非常旧的公共库 因此如果您尝试使用新版本 您可能最终会加载错误的实现并出现错误 例如 静态路径包含 google collectio
  • 从 html 页面和 javascript 调用 java webservice

    我正在尝试从 javascript 调用 java 实现的 Web 服务 使用 NetBeans IDE 我读过很多关于 jQuery 和 AJAX 的内容 但我似乎无法掌握它 假设我的 Web 服务 WSDL 位于 http localh
  • jmap - 组织和堆操作会给 jvm 带来开销吗?

    正如标题所述 需要多少开销jmap histo and jmap heap分别带到jvm 如果一个内存敏感的 Java 进程处于OutOfMemory 例如 大约 96 的堆已满 并且无法通过 full gc 清除 其中一项操作是否有可能将
  • 使用 Flutter Flavor 运行调试?

    我正在尝试在 Visual Studio 代码上为我的 flutter 应用程序运行调试模式 单击 运行和调试 但是当我这样做时 我面临以下问题 The Xcode project defines schemes release priva
  • 从 Stax XMLStreamReader 读取以解组部分

    我正在使用 Stax 游标 API 从大型 xml 文件中提取数据 当前 我转到特殊标签的开头并使用 JAXB 解组该标签 这对于格式良好的 xml 文件效果很好 但不久前我有一个文档 其中数十万个标签中有一个未关闭 JAXB 使用 XML
  • 如何在keycloak中动态编辑standalone.xml文件

    我正在尝试通过 docker 编辑standalone xml 并尝试添加 但 keycloak 正在使用它standalone xml 但我可以看到standalone xml 文件中的更改 我需要在standalone xml 文件中添
  • Windows 窗体不会在调试模式下显示

    我最近升级到 VS 2012 我有一组在 VS 2010 中编码的 UI 测试 我试图在 VS 2012 中启动它们 我有一个 Windows 窗体 在开始时显示使用 AssemblyInitialize 属性运行测试 我使用此表单允许用户
  • 如何在android sdk上使用PowerMock

    我想为我的 android 项目编写一些单元测试和仪器测试 然而 我遇到了一个困扰我一段时间的问题 我需要模拟静态方法并伪造返回值来测试项目 经过一些论坛的调查 唯一的方法是使用PowerMock来模拟静态方法 这是我的 gradle 的一
  • 我想要一个 Java 阿拉伯语词干分析器

    我正在寻找阿拉伯语的 Java 词干分析器 我找到了一个名为 AraMorph 的库 但它的输出是无法控制的 并且它会形成不需要的单词 还有其他阿拉伯语词干分析器吗 这是新的阿拉伯语词干分析器 Assem 的阿拉伯语轻词干分析器 http
  • 重写Object类的finalize()方法有什么用?

    据我所知 在java中如果我们想手动调用垃圾收集器 我们可以执行System gc 1 我们在重写的finalize 方法中做了哪些操作 2 如果我们想手动调用JVM垃圾收集器 是否需要重写finalize 方法 我们在重写的 Finali
  • Xamarin:“框架不在模块中”- VS 2013&2015

    我对 XAMARIN 支持感到非常失望 那么 我将从头开始 过去几个月一切都很好 直到我更新了 xamarin 的最新版本 4 0 3 214 结果是我现在无法调试 我收到以下消息 框架不在模块中 我向 Xamarin 支持发送了一封电子邮
  • Java 编码风格、局部变量与重复方法调用

    我更喜欢使用局部变量而不是多次调用同一方法 I prefer this Vehicle vehicle person getVehicle if vehicle instanceof Car Car car Car vehicle car
  • 为什么 BufferedWriter 不写入文件?

    我有这个代码 String strings Hi You He They Tetrabenzene Caaorine Calorine File file new File G words txt FileWriter fWriter Bu

随机推荐

  • 使用 Prism 更改 Xamarin Forms 中的页面过渡动画

    是否可以使用 Prism 的 INavigationService 更改 Xamarin Forms 中的页面过渡动画 我希望在 Android 上有淡入淡出动画 就像使用默认的 Xamarin Forms PushAsync PopAsy
  • 查询在 Oracle 11g 上有效,但在 Oracle 8i 上失败

    我在 Oracle 11g 中运行此查询没有问题 select case when seqnum 1 then 1 when seqnum cnt then 0 end as value1 case when seqnum 1 then t
  • Python 字符串格式化:填充负数

    我想将整数格式化为字符串 以便在没有符号的情况下 它们将被零填充以具有至少两位数字 例如我想要 1 1 10 10 to be 01 01 10 10 具体来说 我想要负数 3 和非负数 2 具有不同的最小字符串长度 简单的数字填充详情he
  • 子 span 元素脱离父元素,flexbox / margin - 填充问题

    我阅读了类似问题的帖子 但仍然无法使其正常工作 当有大文本时 我试图使用文本省略号 JSFiddle https jsfiddle net heyrohit bxrpduxu fixIssue align items center thum
  • 具有多个/许多伪选择器/匹配的本机 Javascript querySelectorAll()

    如何在本机 Javascript querySelectorAll 中放置许多伪选择器 示例 我想搜索 id 以 id starting 开头并以 id ending 结尾的元素 找不到现有问题 因此自己制作并回答 对于 Native Ja
  • 我应该如何排列这些“有用”的分数?

    在我网站上的用户生成的帖子下 我有一个类似亚马逊的评级系统 Was this review helpful to you Yes No 如果有投票 我会在该行上方显示结果 如下所示 5 of 8 people found this repl
  • C 中 DBL_EPSILON 和 Machine-Epsilon 的混淆

    Machine Epsilon 似乎有两个定义 将实数舍入到下一个浮点数时的最大相对误差 满足 1 0 machine eps 1 0 的最小正数 首先 我不明白这两者是如何关联的 根据我的理解 第二个 DBL EPSILON 不符合定义
  • 给定素数 N,计算下一个素数?

    一位同事刚刚告诉我 出于与哈希相关的神秘原因 C 字典集合按素数调整大小 我直接的问题是 它如何知道下一个素数是什么 它们是否记录一个巨大的表或动态计算 这是一个可怕的非确定性插入运行时间 导致调整大小 所以我的问题是 给定 N 质数 计算
  • 在 virtualenv 中执行 os.system('python ')

    我正在使用一个virtualenv要执行脚本 在这个脚本中我调用 os system python anotherScript py 我的问题是脚本是否在同一个中执行virtualenv作为调用者脚本 很难说 但是如果您在激活的 virtu
  • git - 樱桃挑选 - 如何/为什么

    问题 您想测试某人开发的功能 但它只是 存在于一个严重过时的远程分支中 Source http wiki koha community org wiki Using Git Cherry Pick cherry pick是如何解决这个问题的
  • 如何创建一个自动关闭的 HTML5 标签,例如
    [已关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我基本上想制作一个不需要关闭的自定义标签并将CSS应用于它 它不应该看起来像这样
  • meanjs 如何实现管理仪表板

    Meanjs 使用 AngularJS 进行前端 MVC 并且是一个 SPA 应用程序 因此当管理仪表板与前端页面不同时 实现管理仪表板的最佳方法是什么 也许有两个接入点 我一直在寻找一种方法来实现这一目标 我在这里发布了我的搜索结果 首先
  • 我应该如何使用 pgAdmin 3 将数据从 CSV 导入到 Postgres 表中?

    我需要为此使用任何插件或库吗 我想先在本地系统上尝试这个 然后在 Heroku Postgresql 上做同样的事情 pgAdmin 从 1 16 开始就有用于数据导入的 GUI 您必须先创建表 然后才能轻松导入数据 只需右键单击表名称并单
  • 使用 Angular-DataTables 更新数据时会重置分页

    我们有一个使用 Angular DataTables 的 Web 表单 DataTables 1 10 10 Angular datatables v0 5 3 我们使用来自后端的 JSON 来提供数据 该表配置了分页 并且每 10 秒手动
  • 无法从 Amazon Lambda、相同 VPC 和正确的角色权限访问 RDS

    我无法在生产中从 Amazon Lambda 成功连接到 RDS 对于 Amazon Lambda 我使用无服务器框架 离线执行 sls 可以从本地主机连接 RDS 但在生产中 Amazon Lambda 不能 两者都位于同一 VPC 同一
  • symfony2:如何在 QueryBuilder 中使用 group_concat

    我有一个名为 位置 的嵌套集 使用 Gedmo 树 实体 实体 公寓 具有 location id 以及我需要做什么来映射称为 路径 的标量值以返回所有公寓的查询 在 Doctrine1 中 我有这样的代码 Add path to each
  • 以编程方式调用@Controller

    我正在将使用 Spring MVC 控制器实现的代码转换为使用注释构造型 Controller 一切都很顺利 除了一个问题 给定请求 响应 如何以编程方式处理基于注释的控制器的请求 以前 无论实现如何 我可以调用 controller ha
  • Python向用户输入文件路径添加反斜杠和引号,无法打开

    使用Python 3 9 我想 输入 文件路径 通过输入函数 然后我想打开该文件路径 我受到以下错误的阻碍 OSError Errno 22 Invalid argument C Users Hart Documents File txt
  • 如何创建清单文件以使用管理员权限启动应用程序?

    我想为我的 VB 6 0 程序创建一个清单文件 这样当我启动我的应用程序时 操作系统应该要求用户提供管理员权限 我还想知道如何将其嵌入到应用程序中 您实际上并没有在 VB 中创建清单文件 Windows 应用程序清单是一个标准文本文档 格式
  • 如何调试 JVM 中的挂起线程?

    我正在远程 Ubuntu 服务器上运行一个持久的 Java 程序 我在该服务器上拥有 root 用户权限 一段时间后 某些 CPU 核心的使用率会达到 100 日志没有显示任何可疑之处 应用程序仍然可以运行 但吞吐量有所下降 如何调试 JV