WebSphere Application Server控制台显示部分应用不可用,经查日志发现报 HMGR0152W: 检测到 CPU 饥饿。当前线程调度延迟是 102 秒。HMGR0152W这个信息报出说明当前进程中存在JVM线程调度延迟。表现就是在系统运行高峰时期,系统出现WEB页面打开缓慢,登陆应用系统缓慢,登陆后应用运行缓慢,有时甚至无法访问,严重会引起WAS宕机,有很多原因可能导致这个调度线程不能以适时的方式获得CPU资源。
原理:WebSphere Application Server高可用管理器组件中包含线程调度延迟检测逻辑,它会周期性的启动一个线程, 用这个线程去跟踪是否线程已经被分派,是否按照计划运行。默认情况下,延迟检测线程每30秒钟运行一次, 如果超过计划5秒钟没有运行就会在日志中记录一条HMGR0152W消息。这条消息显示了延迟的时间或者与该线程期望得到CPU和实际得到CPU的时间差。

下面是这个问题的一些常见原因:

1. 物理内存被过量使用并且产生了分页.

2. 进程的堆大小太小导致垃圾回收频繁或者过长阻塞了其他线程的执行.

3. 系统中运行着太多线程,负载过高可能导致CPU使用过高.

这个警告信息如果不及时修正可能导致WAS不稳定的情况.你需要分析为什么调度线程发生了延迟,需要采取哪些措施.下面是一些常用的解决方法:
1. 增加物理内存防止分页.
2. 优化JVM堆内存配置,从而优化垃圾回收.(在WAS控制台里可设置详细垃圾回收,JVM的上下限值)
3. 降低系统的整体负载到一个可以接受的值.
如果HMGR0152W信息不是经常报出,并且报出的消息延迟很短(例如小于20秒), 通常不会有其他问题发生,这个时候这个消息可以被忽略.

当然在这种情况下,还可以做个javacore来看下,究竟是哪些线程在等待(1、等待什么资源 2、有多少个请求在等待、3、有多少个线程正在执行);另外检查下操作系统的配置,这个也和操作系统参数有关的。(这个可根据javacore中的结果来进一步确认);检查下数据是否有资源冲突现象,或者锁表现象。

关于JAVACORE的分析,可参看我的《was进程占用CPU率较高实例深解析》 http://xjsunjie.blog.51cto.com/999372/1136156

高可用管理线程调度延迟检测可以通过配置下面两个定制属性中的一个来实现:
1. IBM_CS_THREAD_SCHED_DETECT_PERIOD 参数决定延迟检测线程多长时间运行一次.默认值是30秒.
2. IBM_CS_THREAD_SCHED_DETECT_ERROR 参数决定多长时间的延迟需要被用这个警告信息记录在日志中.

这些属性在WAS控制台里,你可以按照如下方法配置:
1. 在管理控制台中, 点击服务器 > 核心组 > 核心组设置, 然后选择核心组名字.
2. 在其它属性下, 点击定制属性 > 新建.
3. 输入属性名和值.
4. 保存配置.
5. 如果是网络部署环境, 请注意同步所有节点.
6. 重新启动所有的服务器是该配置在该服务器上生效.

虽然我们可以用上面两个属性增加线程调度检测时间, 但是不建议通过它们使HMGR0152W警告消息完全不再报出. 这个方法只是用于优化系统消除线程调度延迟.

was日志报检测到cpu饥饿相关推荐

  1. 深度模型的日志异常检测,还有谁不会?

    摘要:日志异常检测的核心是借助AI算法自动分析网络设备日志来发现并定位故障,根据送入检测模型的数据格式,日志异常检测算法模型分为序列模型和频率模型,其中序列模型又可以分为深度模型和聚类模型. AIOp ...

  2. 【故障处理】告警日志报“ORA-01565 Unable To open Spfile”

    [故障处理]告警日志报"ORA-01565 Unable To open Spfile" 1.1  BLOG文档结构图 1.2  故障分析及解决过程 1.2.1  故障环境介绍 项 ...

  3. oracle unable to open file,告警日志报“ORA-01565 Unable To open Spfile”

     [故障处理]告警日志报"ORA-01565 Unable To open Spfile" 1.1BLOG文档结构图 1.2故障分析及解决过程 1.2.1故障环境介绍 项目 s ...

  4. oracle 10035 err 942,案例:Oracle日志报错 Fatal NI connect error 12170 TNS-12535 TNS-00505

    天萃荷净 Oracle数据库alert日志文件报错Fatal NI connect error 12170,通过查看mos相关文章找到解决办法 今天在一台服务器的日志文件中,发现如下信息: Fatal ...

  5. 基于深度学习的恶意样本行为检测(含源码) ----采用CNN深度学习算法对Cuckoo沙箱的动态行为日志进行检测和分类...

    from:http://www.freebuf.com/articles/system/182566.html 0×01 前言 目前的恶意样本检测方法可以分为两大类:静态检测和动态检测.静态检测是指并 ...

  6. Mysql写入数据时,adapter 日志报ES连接错误

    Mysql写入数据时,adapter 日志报ES连接错误 日志如下: 2021-09-20 13:51:03.795 [pool-1-thread-1] ERROR c.a.otter.canal.a ...

  7. zabbix server下数据库日志报错

    数据库日志报错 postgres@ubuntu:~$ cat logfile FATAL: no pg_hba.conf entry for host "::1", user &q ...

  8. 2021-08-15nginx访问502,日志报错:connect() to 127.0.0.1:180 failed (13: Permission denied)解决

    nginx访问502,日志报错:connect() to 127.0.0.1:180 failed (13: Permission denied)解决 安装启动nginx配置以后,访问报502错误,然 ...

  9. java安装报错循环冗余检查_SQLSERVER2012备份日志报错:”读取失败: 23(数据错误(循环冗余检查)。)”...

    SQLSERVER2012备份日志报错:"读取失败: 23(数据错误(循环冗余检查).)" 问题: SQLSERVER2012数据库,8月6日的LOG自动备份出现问题,之前备份一直 ...

  10. Oracle报错1031,dataguard 归档日志报1031错误的一次处理

    oracle rac dataguard 归档日志报1031错误  操作系统 red  hat5.4  oracle 10.2.0.5 rac日志报错如下 Tue Jun 21 15:33:16 CS ...

最新文章

  1. Spring MVC常用注解--“姐妹花”@RequestBody和@ResponseBody
  2. ServerBootstrap的启动流程
  3. SAP Fiori Elements 框架里 Smart Table 控件的工作原理介绍
  4. 全局稳定性收敛平衡点为0吗_该平衡点处的小扰动稳定性判据是什?
  5. 双屏怎么快速切换鼠标_在笔记本上实现双屏设计,怎么做到的?
  6. java语言程序设计基础篇14.6答案_《Java语言程序设计-基础篇》答案-第15章
  7. STM8单片机串口发送引脚和接收引脚分开使用
  8. 服务器开启显示网关不可用,高手亲自给您说win10默认网关不可用解决方法的操作方案...
  9. 学习算法的网址【原创】
  10. Lua参数绑定函数实现方法
  11. 2020【第十一届蓝桥杯省赛】 C/C++ B组 (第一场)
  12. 个人信息保护须形成更大合力
  13. Java后端开发框架
  14. 计算机的发展导致了计算思维的诞生,尔雅电子计算机的诞生(上)
  15. kali虚拟机安装教程(超详细)
  16. 服务器分辨率无法修改器,win10解决分辨率无法修改的方法攻略
  17. 可测空间、测度空间及σ-代数
  18. JQuery获取文件大小
  19. 使用python实现的天眼查小工具
  20. 计算机无法 鼠标没反应,笔记本电脑鼠标动不了怎么办(鼠标没反应怎么解决)...

热门文章

  1. debian rabbitmq离线安装_Rabbitmq web-mqtt在debian上的安装
  2. 基于python的电商评论分析_Python实现爬取并分析电商评论
  3. centos tomcat
  4. 多面集的表示定理的必要性的证明
  5. 微积分中BW定理指的是什么
  6. firewalls 查看防火墙状态_5条命令玩转Linux系统防火墙
  7. PHP之Trait详解
  8. 小功能大用处 ---- 一键检测各服务器是否存活
  9. psycopg2 (python与postgresql)
  10. 20170907wdVBA_ImportPicturesBaseOnExcel