帮助手册 线程转储/堆转储

执行线程转储和堆转储以自动执行操作

自动执行线程转储和堆转储,以最大限度地减少人工干预并提高应用程序和服务器的性能。

用例

当应用程序超过其正常响应时间(例如 400 毫秒)时,可能是由于潜在的死锁或内存泄漏;在这种情况下,当应用程序响应缓慢时生成线程转储或堆转储有助于确定实际的根本原因。

Thread Dump 用于检查您是否陷入死锁状态。Heap Dump 用于检测内存泄漏。

问题

将后台任务添加到应用程序后,应用程序的整体响应时间会增加。我们需要知道当时创建的对象的实际状态。

解决方案

添加线程和堆转储自动化并将它们与响应时间属性相关联,以便在阈值违反期间创建转储。

添加自动化

支持的服务器代理版本:Linux 的 16.6.0 及更高版本

  1. 登录到Site24x7并转到管理> IT 自动化模板 (+)。您还可以导航到服务器 > IT 自动化模板 (+)
  2. 选择线程转储堆转储作为自动化类型
  3. 提供显示名称以进行识别。
    例如,对于上述情况,显示名称可以是“Dump files for memory leak”。
  4. 提供绝对文件路径来存储转储文件。
    • 如果您将转储文件保存在服务器代理的文件夹 - /opt/site24x7/monagent中,则在删除代理时它们将被删除。如果您将转储文件保存在服务器代理的文件夹之外,即使代理被删除,它们也会保留。
    • 堆转储文件以 HPROF 格式保存,而线程转储文件以 TXT 格式保存。
  5. 选择执行线程转储或堆转储的主机。您可以选择多个主机进行并行执行。
      您可以选择 $LOCALHOST 在存在阈值或状态更改违规的任何主机上执行自动化。在 APM 应用程序级别启用自动化后,当发生阈值或状态更改违规时,它将在应用程序中的所有侵权服务器上运行。
  6. 输入超时期限(以秒为单位),表示代理必须等待命令执行完成的最长时间。之后,将出现超时错误。如果监视器停机时通过电子邮件发送根本原因分析报表选项配置为是,则这将在电子邮件报告中捕获。
      默认情况下,超时设置为 15 秒。您可以定义 1-90 秒之间的超时。
  7. 您可以选择将自动化结果的电子邮件发送到通知配置文件中配置的用户组。默认情况下,它设置为No。此电子邮件将包含参数,包括自动化名称、自动化类型、事件原因、目标主机等。
      如果您在一个数据收集中执行了多个自动化,则会发送一封合并的电子邮件。
  8. 保存更改。
    添加自动化后,计划这些自动化一个接一个地执行。

 通知配置文件设置

通知配置文件中配置以下设置:

  • 执行相关 IT 自动化后通知为停机/故障:设置为“是”时,如果您的监视器即使在执行指定操作后仍面临中断,您将立即收到有关故障或故障的状态的告警。
  • 抑制依赖监视器的 IT 自动化:当依赖资源的状态为关闭时,不执行 IT 自动化。

测试自动化

添加自动化后,转到IT 自动化摘要页面(服务器 > IT 自动化模板)并使用图标执行测试运行。了解更多

测试运行将应用于为命令执行选择的所有主机。一个例外是选择 $LOCALHOST 作为唯一的主机。
单击IT 自动化日志以查看按日期执行的自动化列表。

映射自动化

对于要执行的自动化,将其映射到监视器或属性。这可以通过两种方式完成:

相关文章

帮助手册 Thread Dump/Heap Dump