今天系统报警了!!!!!顿时人又不好了!!!查看系统日志,

报错如下:

Did not receive adequate CPU time slice. Last known CPU usage time at 14:45:03:180 CST. Inactivity duration was 32 seconds.

0000047a CoordinatorCo W HMGR0152W: CPU Starvation detected. Current thread scheduling delay is 32 seconds.

百度了下,具体原因是:

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

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

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

解决方案是:

1. 增加物理内存防止分页.

2. 优化JVM堆内存配置,从而优化垃圾回收.

3. 降低系统的整体负载到一个可以接受的值.

这三种方案,该怎么解决呢?

1.对于增加物理内存,也不知道是不是因为物理内存不够导致的,但我机器是16G内存,应该够的。

2.JVM堆内存配置,这个可以考虑在was管理控制台中设置,将jvm的堆内存值调大一点。具体参考:http://xiaoxinshome.iteye.com/blog/1733212

3.如何降低系统的整体负载呢?请求量过高导致负载也高?也不能降低别人的请求量啊。暂时可以考虑把抛出的异常捕获,精简代码。

问题描述:
系统工作正常,但是在SystemOut.log中记录了很多HMGR的警告信息。
[10/25/05 16:42:27:635 EDT] 0000047a CoordinatorCo W HMGR0152W: CPU Starvation detected. Current thread scheduling delay is 9 seconds.

HMGR0152W信息报出说明这个进程中存在JVM线程调度延迟。

WebSphere Application Server高可用管理器组件中包含线程调度延迟检测逻辑,它会周期性的启动一个线程, 用这个线程去跟踪是否线程已经被分派,是否按照计划运行。默认情况下,延迟检测线程每30秒钟运行一次, 如果超过计划5秒钟没有运行就会在日志中记录一条HMGR0152W消息。这条消息显示了延迟的时间或者与该线程期望得到CPU和实际得到CPU的时间差。

HMGR0152W甚至可能在CPU资源可用的情况下报出。有很多原因可能导致这个调度线程不能以适时的方式获得CPU.下面是一些常见的原因:

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

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

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

HMGR0152W警告信息试图告诉您出现了一个如果不及时修正可能导致不稳定的情况.您需要分析为什么调度线程发生了延迟,需要采取哪些措施.下面是一些常用的解决方法:

1. 增加物理内存防止分页.
2. 优化JVM堆内存配置,从而优化垃圾回收.
3. 降低系统的整体负载到一个可以接受的值.
如果HMGR0152W信息不是经常报出,并且从报出的消息看延迟很短(例如小于20秒), 通常不会有其他问题发生,这个时候这个消息可以被忽略.

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

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

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

相关文章:

was日志报检测到cpu饥饿

http://xjsunjie.blog.51cto.com/999372/1294089/

如何分析websphere中间件生成的javacore文件

http://blog.sina.com.cn/s/blog_61cd89f60102eeo0.html

在SystemOut.log中发现HMGR0152W: 检测到CPU 饥饿的消息 <转载>的更多相关文章

  1. git 邮箱错误-git log 中发现 XXX@163.com邮箱不符合要求,请务必使用公司邮箱。

    场景描述: 重新配置电脑之后,提交了git,邮箱发生错误. git log # 查看日志git reset 版本 # 回到之前的版本,版本回退git config --global user.name ...

  2. SpriteBuilder添加的TrueType字体未显示在log中的原因分析

    按照书上的说法,在SpriteBuilder中添加的TrueType字体名称会在枚举字体方法显示的log中出现.但是运行程序后没有在log中发现对应的字体名称. 因为该字体是例子中作者制作的,所以字体 ...

  3. golang中的race检测

    golang中的race检测 由于golang中的go是非常方便的,加上函数又非常容易隐藏go. 所以很多时候,当我们写出一个程序的时候,我们并不知道这个程序在并发情况下会不会出现什么问题. 所以在本 ...

  4. 自动统计安卓log中Anr,Crash,Singnal出现数量的Python脚本

    作为测试,在测试工作中一定会经常抓log,有时log收集时间很长,导致log很大,可能达到几G,想找到能打开如此大的log文件的工具都会变得困难:即使log不大时,我们可以直接把log发给开发同学去分 ...

  5. 谁记录了mysql error log中的超长信息

    [问题] 最近查看MySQL的error log文件时,发现有很多服务器的文件中有大量的如下日志,内容很长(大小在200K左右),从记录的内容看,并没有明显的异常信息. 有一台测试服务器也有类似的问题 ...

  6. Git 实战手册(一): 批量修改log中的提交信息

    本文须知 教程所示图片使用的是 github 仓库图片,网速过慢的朋友请移步原文地址 有空就来看看个人技术小站, 我一直都在 背景介绍 事情的起源是这样的:迷恋的谷歌的我最近申请了一个新的 googl ...

  7. 谁记录了mysql error log中的超长信息(记pt-stalk一个bug的定位过程)

    [问题] 最近查看MySQL的error log文件时,发现有很多服务器的文件中有大量的如下日志,内容很长(大小在200K左右),从记录的内容看,并没有明显的异常信息. 有一台测试服务器也有类似的问题 ...

  8. alert.log中的minact-scn: useg scan erroring out with error e:376警告

    早上,开发说昨晚一台服务器的undo好像有异常,早上上去一看,库停了,正常startup之后,随手crud了一把,都正常.去看alert.log日志,发现undo某个数据块访问报I/O读错误,如下: ...

  9. 自动统计安卓log中Anr,Crash,Singnal出现数量的Python脚本 (转载)

    自动统计安卓log中Anr,Crash,Singnal出现数量的Python脚本   转自:https://www.cnblogs.com/ailiailan/p/8304989.html 作为测试, ...

随机推荐

  1. [RxJS] Filtering operator: single, race

    Single, race both get only one emit value from the stream. Single(fn): const source = Rx.Observable. ...

  2. optimizer hints

    In version MySQL 5.7.7 Oracle presented a new promising feature: optimizer hints. However it did not ...

  3. laydate时间组件在火狐浏览器下有多时间输入框时只能给第一个输入框赋值的问题

    遇到的问题: laydate时间组件在火狐浏览器下有多时间输入框时只能给第一个输入框赋值的问题(safari下也有同样问题); 解决办法: 给laydate绑定id; 解决前代码: <input ...

  4. Java 6 Thread States and Life Cycle.

    Ref: Java 6 Thread States and Life Cycle This is an example of UML protocol state machine diagram sh ...

  5. 惠普 Compaq 6520s 无线开关打不开

    问题描述:键盘上面的无线开关怎么按都打不开,始终是出于黄色的状态   解决方法:尝试恢复bios默认值测试: 开机不停点击F10进入bios,选择File选项,选择Restore Defaults-- ...

  6. [转帖]FPGA--Vivado

    来源:http://home.eeworld.com.cn/my/space-uid-639749-blogid-267593.html 一般的,在Verilog中最常用的编码方式有二进制编码(Bin ...

  7. ios手势复习值之换图片-转场动画(纯代码)

    目标:实现通过手势进行图片的切换   通过左扫右扫 来实现(纯代码) 添加三个属性 1uiImageView 用来显示图片的view 2 index 用来表示图片的索引 3 ISLeft 判断是不是向 ...

  8. C#入门经典(第五版)学习笔记(三)

    ---------------面向对象编程简介--------------- UML表示方法: 1)方框上中下三分 2)上框写类名 3)中框写属性和字段,例如:+Description:string  ...

  9. 【转】 wpf系列-入门

    转自:http://www.cnblogs.com/huangxincheng/category/388852.html   8天入门wpf—— 第八天 最后的补充 摘要: 从这一篇往前看,其实wpf ...

  10. Weinre在iOS 7上不工作的原因

    升级到iOS 7 后发现Weinre不能工作了,通过Safari调试发现报错如下: [Error] SecurityError: DOM Exception 18: An attempt was ma ...