JVM CPU 峰值故障排除

2024-04-07

我们在其中一台应用程序服务器上发现了一个有趣的(尽管相当严重)问题:在某个时间点,运行 Web 应用程序的 JVM 的 CPU 使用率开始上升,并持续上升,直到应用程序最终减慢到爬行。修复此问题的唯一方法是重新启动应用程序服务器软件。

  • 应用服务器:Spring tc Server(由于服务器托管在其他地方,我目前不知道确切的版本)
  • 应用程序:相对标准的 Spring 3 Web 应用程序(不过我们确实使用了 JVM 内的 EHCache)

这让我想到一个简单的问题;我们可以采取什么措施来解决这个问题?

我考虑过使用 VisualVM(或其他一些 JVM 监控工具),但在这种特殊情况下,他们能做的最好的事情就是给我一个线程转储,这仍然不会告诉我是什么占用了所有 CPU 时间(除非我缺少一些东西)。


你需要找出它在做什么?此问题的一个常见原因是可用内存不足。如果这不是原因,则需要 CPU 分析器。 VisualVM 随 JDK 免费提供,并且可以为您完成这两件事。

只是你不能一直分析应用程序

发生这种情况时,您可以通过调用进行临时分析jstack间隔几秒多次。您可以使用diff堆栈跟踪可帮助您找到可能繁忙并消耗 CPU 的线程。

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

JVM CPU 峰值故障排除 的相关文章

  • 清理码头 - 删除“不必要”的东西

    我习惯用Jetty http jetty codehaus org jetty 作为我的网络容器 我对我做了什么安装步骤得到原始的焦油球并且清理一些目录和文件从中 我在这里想提出的是 您通常从 Jetty 中删除什么以在生产 登台环境中使用
  • 如何使用 SimpleDateFormat 解析多种格式的日期

    我正在尝试解析文档中的一些日期 用户似乎以类似但不完全相同的格式输入了这些日期 以下是格式 9 09 9 2009 09 2009 9 1 2009 9 1 2009 尝试解析所有这些内容的最佳方法是什么 这些似乎是最常见的 但我想让我困扰
  • 无法使用maven编译java项目

    我正在尝试在 java 16 0 1 上使用 maven 构建 IntelliJ 项目 但它无法编译我的项目 尽管 IntelliJ 能够成功完成 在此之前 我使用maven编译了一个java 15项目 但我决定将所有内容更新到16 0 1
  • 来自数据库的 jfreechart 散点图

    如何使用java中的jfreechart绘制mysql数据库表中数据的散点图 我使用过 Swing 库 任何链接都会有帮助 我搜索了谷歌但找不到理解的解决方案 如果您有代码 请提供给我 实际上我确实做了条形图并使用 jfreechart 绘
  • Java:使用 HttpURLConnection 的 HTTP PUT

    如何执行 HTTP PUT 我正在使用的类似乎认为它正在执行 PUT 但端点将其视为我执行了 GET 我做错了什么吗 URL url new URL https HttpURLConnection conn HttpURLConnectio
  • 在 HTTP 标头中发送 UTF-8 值会导致 Mojibake

    我想使用 servlet 发送阿拉伯语数据HTTPServletResponse给客户 我正在尝试这个 response setCharacterEncoding UTF 8 response setHeader Info arabicWo
  • 在java中实现你自己的阻塞队列

    我知道这个问题之前已经被问过并回答过很多次了 但我只是无法根据互联网上找到的示例找出窍门 例如this http tutorials jenkov com java concurrency blocking queues html or t
  • 将表值参数与 SQL Server JDBC 结合使用

    任何人都可以提供一些有关如何将表值参数 TVP 与 SQL Server JDBC 一起使用的指导吗 我使用的是微软提供的6 0版本的SQL Server驱动程序 我已经查看了官方文档 https msdn microsoft com en
  • Java 8 中函数式接口的使用

    这是来自的后续问题Java 8 中的 双冒号 运算符 https stackoverflow com questions 20001427 double colon operator in java 8其中 Java 允许您使用以下方式引用
  • 如何将 Jfreechart(饼图)添加到 netbeans 的面板中

    我正在使用 netbeans gui 编辑器 并且正在尝试添加一个本身位于内部框架中的 Jfreechart 并且这个内部框架我想将其添加到面板中 正如您在此图中看到的那样 抱歉 我无法直接发布图像 因为我新手 http www flick
  • Java - 返回值是否会中断循环?

    我正在编写一些基本上遵循以下格式的代码 public static boolean isIncluded E element Node
  • Cloudfoundry:如何组合两个运行时

    cloundfoundry 有没有办法结合两个运行时环境 我正在将 NodeJS 应用程序部署到 IBM Bluemix 现在 我还希望能够执行独立的 jar 文件 但应用程序失败 APP 0 bin sh 1 java not found
  • Spring Security OAuth2简单配置

    我有一个简单的项目 需要以下简单的配置 我有一个 密码 grant type 这意味着我可以提交用户名 密码 用户在登录表单中输入 并在成功时获得 access token 有了该 access token 我就可以请求 API 并获取用户
  • 如何配置 WebService 返回 ArrayList 而不是 Array?

    我有一个在 jax ws 上实现的 java Web 服务 此 Web 服务返回用户的通用列表 它运行得很好 Stateless name AdminToolSessionEJB RemoteBinding jndiBinding Admi
  • Espresso 和 Proguard 的 Java.lang.NoClassDefFoundError

    我对 Espresso 不太有经验 但我终于成功地运行了它 我有一个应用程序需要通过 Proguard 缩小才能处于 56K 方法之下 该应用程序以 3 秒的动画开始 因此我需要等到该动画结束才能继续 这就是我尝试用该方法做的事情waitF
  • 逃离的正确方法是什么?使用 Oracle 12c MATCH_RECOGNIZE 时 JDBCPreparedStatement 中的字符?

    以下查询在 Oracle 12c 中是正确的 SELECT FROM dual MATCH RECOGNIZE MEASURES a dummy AS dummy PATTERN a DEFINE a AS 1 1 但它不能通过 JDBC
  • JSON 到 hashmap (杰克逊)

    我想将 JSON 转换为 HashMapJackson http jackson codehaus org 这是我的 JSON String json Opleidingen name Bijz trajecten zorg en welz
  • Android - 9 补丁

    我正在尝试使用 9 块图片创建一个新的微调器背景 我尝试了很多方法来获得完美的图像 但都失败了 s Here is my 9 patch 当我用Draw 9 patch模拟时 内容看起来不错 但是带有箭头的部分没有显示 或者当它显示时 这部
  • JAXB - 列表<可序列化>?

    我使用 xjc 制作了一些课程 public class MyType XmlElementRefs XmlElementRef name MyInnerType type JAXBElement class required false
  • Android 和 Java 中绘制椭圆的区别

    在Java中由于某种原因Ellipse2D Double使用参数 height width x y 当我创建一个RectF在Android中参数是 left top right bottom 所以我对适应差异有点困惑 如果在 Java 中创

随机推荐

  • 保存用户个人资料详细信息 Android 应用程序的最佳方式

    我正在创建一个有多个用户的应用程序 我创建了一个对象 用户 其中包含更多详细信息 姓名 年龄 自定义对象等 因为我有一个自定义对象 所以我知道使用共享首选项会很困难 存储用户数据的最佳方式是什么 我研究过 SQLite 但找不到将自定义对象
  • 有没有办法从应用程序脚本中的 graphql API 获取数据?

    我正在尝试通过应用程序脚本从 graphql API 获取数据 使用 POST 获取 graphql 数据有一个问题 提供从 GraphQL API 获取的查询字符串 https stackoverflow com questions 47
  • C++ 模板复制构造函数,编译器说“传递 const 作为此参数丢弃限定符”

    我正在尝试创建动态矩阵的模板类 以我目前对 C 的了解 我设法解决了一些问题 但我陷入了复制构造函数和重载运算符 的困境 换句话说 我无法创建我的对象的副本 在我看来 这应该可行 但我的朋友编译器告诉我 我有 1 个错误 错误 将 cons
  • 如何排查/解决 Xcode 10.1/iOS 12.1 中出现的“信号强度查询返回错误”日志?

    最近更新到 iOS 12 1 从 12 0 开始 Xcode 10 1 从 10 0 开始 在我的物理设备上进行调试时 在 Xcode 控制台中看到大量错误消息 如下所示 NetworkInfo Signal strength query
  • 客户端Web - 如何随时获取当前记录ID

    我正在努力 基于工作流程状态的不同权限 https stackoverflow com questions 10994216 different permissions based on workflow state问题 但我正在努力解决这
  • 完美穿越

    我正在考虑一个与完美转发有一些相似之处的问题 但是函数参数没有传递给被调用的函数 而是返回了 这就是为什么我称之为 完美传递 问题如下 假设我们有一个函数 它通过引用 可能还有一些额外的参数 获取一个对象 修改该对象 然后返回修改后的对象
  • parseFloat 舍入

    我有一个 javascript 函数 可以自动将输入字段添加在一起 但是添加像 1 35 1 35 1 35 这样的数字会得到 4 050000000000001 的输出 仅作为示例 如何将总数四舍五入到小数点后第二位而不是那个长字符串 输
  • 深层类继承层次结构——坏主意?

    希望高手能指点迷津 非常高的概述是 我不是编码初学者 但对 OOP 仍然是新手 这组消息类是我们正在编写的大型模拟应用程序的核心 我不想愚蠢地这样做 这个接口将应用程序从定序器到执行器切成两半 反之亦然 我的问题是 拥有这么深的继承层次结构
  • Android 布局 XML 中的“@id/android:list”与“@android:id/list”

    在 Android 自己的文档以及我继承的应用程序中 我有时会看到带有以下形式的视图 ID id android list 有时用表格 android id list 也就是说 android 有时位于 和 id 之间 有时位于 和实际ID
  • 条件内连接

    我希望能够根据表达式的结果内连接两个表 到目前为止我一直在尝试的 INNER JOIN CASE WHEN RegT Type 1 THEN TimeRegistration ELSE DrivingRegistration AS RReg
  • C 程序中的 C++ dll

    我想创建一个 dll 库C 代码并使用它C程序 我只想导出一个函数 GLboolean load obj const char filename GLuint object list 库中的头文件 ifndef OBJ H define O
  • jqgrid添加后如何清除添加表单中的自动完成框内容

    jqGrid 添加表单包含使用以下代码的自动完成框 如果新行添加到 jqgrid 自动完成字段不会被清除 仍然显示添加的行内容 简单的文本框列已正确清除 如何清除自动完成框 var grid grid grid jqGrid url Get
  • NuGet 更新和条件引用

    我们的 nupkg 包包含同一 dll 的多个版本 x86 x64 AnyCPU 并且在 csproj 文件中 在引用中 我使用条件引用根据当前平台集选择特定的 dll 因此 我对同一个库有多个引用 只是不同的平台编译 这是我的 cspro
  • JavaScript 中“>>>”是什么意思? [复制]

    这个问题在这里已经有答案了 我有一段我想理解的 JavaScript 代码 return n gt gt gt 0 2 34e10 那么 gt gt gt 是什么意思呢 预先感谢 这是我的第一个问题 It s a 零填充右移 https d
  • 减去除非负数然后返回 0

    我先说 这只是为了满足我的好奇心 而不是在编码项目上需要帮助 但我想知道是否有人知道一个类似绝对值的函数 特别是在Python中 但我会接受一个有效的数学概念 给定一个数字如果为负则返回0 如果为正则返回该数字 伪代码 def myFunc
  • SvelteKit:如何通过别名(如 $routes)从组件和端点引用 /routes 文件夹?

    接下来是我的 简化的 项目结构 appname src lib routes jsconfig json 在 jsconfig js 文件中 我有一个路径键 其别名为 lib 形式的 src lib 文件夹 compilerOptions
  • 无法从客户端连接到 PostgreSQL - 错误超时

    经过很多天尝试连接到我的 PostgreSQL 实例后 我决定是时候寻求帮助了 我正在尝试从 Windows 计算机连接到我的 PostgreSQL 数据库 我正在尝试 pgAdmin 4 和 dBeaver 但都无法连接 下面是我使用 d
  • 如何在 TypeScript 中使用 Mocha 和 Jest 而不发生冲突?

    我正在尝试在一个项目上安装带有类型的 Mocha 和 Jest 我们使用严格的类型检查 因此我收到与冲突的全局类型相关的错误 我试图创建不明确的模块声明 仅定义 Mochatypes at tsconfig 我一直在尝试删除 Jest 的声
  • 如何在二维码上添加徽标

    我正在使用 zxing java 生成二维码 想知道一种向二维码添加徽标的方法 是否有任何内置方法可以为其添加徽标或任何替代方法 您可能必须使用另一个图像库添加图像覆盖 我设法找到了能够做到这一点的资源 http skrymerdev wo
  • JVM CPU 峰值故障排除

    我们在其中一台应用程序服务器上发现了一个有趣的 尽管相当严重 问题 在某个时间点 运行 Web 应用程序的 JVM 的 CPU 使用率开始上升 并持续上升 直到应用程序最终减慢到爬行 修复此问题的唯一方法是重新启动应用程序服务器软件 应用服