昨天早上刚到办公室,就接到客户的电话说其某台小型机的CPU负荷一直保持在90以上,告警短信发个不停,一直没有间断过。该服务器是一台IBM的小型机,性能应该还是不错的,出现这样的情况确实不太正常。登陆上小型机去TOPAS跟踪了一段时间,发现KERNEL主要保持在10-20之间,但是USER就一直保持在50-70。到底是什么用户进程耗费了那么多的CPU资源?该服务器是数据库服务器,上边运行的是SYBASE数据库。登陆到数据库上进行SYSMON,看到IO并不繁忙,但是CPU确实使用率比较高。跟踪观察到的现象级初步判断:1、数据库目前没有什么系统慢跟IO没有太大关系,WAIT IO也几乎接近于0。2、服务器应该主要都是在做计算型的操作。3、服务器上并没有部署有其他应用,就是数据库一个应用而已。

怎么回事?什么时候开始的呢?服务器发生了什么变化?经过与管理员沟通,发现昨晚该服务器对应的业务系统进行了程序更新的操作。按照以往的经验,估计是程序有问题了,而且从监控结果上看,IO不忙,也没有看到有大面积的阻塞,那数据库中实际上并没有存在什么大量的操作。那么,还有什么可能会产生这样的影响?“定时刷新、更新”类型的操作可能会有重大嫌疑。于是,立刻找到昨晚进行程序更新的人员,经过了解,昨晚更新的程序确实有包含一个会定时去检查接口状态,并从数据库读取数据送上接口的操作,并且频率设置是放在数据库的某个参数表里的。

是不是频率设置得不对,或者根本就是失效了呢?

“你们是在哪个表里进行记录执行频率信息的?我们去看看这条信息。“不查不知道,一查吓一跳,居然根本找不到那条信息,也就是说,程序失去了频率控制,由于程序写得不够严谨,造成了程序一直在不间断的往数据库发送相关打开连接、处理数据、关闭连接等相关请求。

”赶紧把频率设置好,你们本应该设置的频率是多久一次?“ 接着,赶紧把控制频率的记录插入到参数表中,将频率设置为每分钟一次。

CRT的窗口一直都在监控TOPAS的情况,在插入数据后,不到一分钟的时间,发现小型机的CPU负荷直接就回落到整体负荷在40%左右,这应该就是问题的根源了!接着又跟踪了一段时间,确实没有问题了,于是跟客户汇报了处理结果,并且召集了进行程序发布的相关人员,对此问题进行了分析、总结,并提出检查点的监控。希望,下一次这样的问题不要再出现了,希望通过这次事件的处理,开发人员都可以得到启发,认真检查好每一段代码,尽量不留下给别人可以犯错误的机会。

因程序问题引起的服务器CPU负荷一直保持在90%以上的更多相关文章

  1. 服务器CPU又爆了?Linux快速排查Java程序占用CPU很高的方法

    这个问题可以说是 Java 面试的高频面试题了,有很多面试官都喜欢问这个问题,问题可能是下面这样的. 线上一台服务器 CPU 使用率100% 了,如果你碰到这样的情况,如何排查并找到问题原因? 1.场 ...

  2. 服务器CPU使用率高的原因分析与解决办法

    我们的服务器在使用操作系统的时候,用着用着系统就变慢了,打开“ 任务管理器 ”一看,才发现CPU使用率达到80%以上.这是怎么回事情呢?遇到病毒了吗?硬件有问题?还是系统设置有问题呢?在本文中将从硬件 ...

  3. asp.net mvc4 简单的服务器监控开发之C#获取服务器CPU、RAM、TCP等系统信息(上)

    一.背景 前段时间服务器出了点问题,加上学业愈来愈紧张,写博文分享的时间越来越少.虽然不是第一次在博客园上写经验,但是近期分享的博文得到了不少的朋友支持和指正,在这里内心非常感激和开心.希望以后能认真 ...

  4. 在Ubuntu 11.10工具栏上用数字显示网速、CPU负荷和内存占用量『译』

    基本上照抄了<How To Display Network Upload / Download Speed On The Panel In Ubuntu 11.04>,只不过我的实践环境是 ...

  5. 服务器CPU繁忙或内存压力引起网络掉包的浅析与总结

      最近一段时间遇到了两起有意思的故障,现象都是网络掉包或网络断开,不过这些只是表面现象,引起现象出现的本质才是我们需要关注的重点: 案例1: 平台   :VMware平台 操作系统 :Windows ...

  6. 面试连环炮系列(八):服务器CPU飙升100%怎么排查

    服务器CPU飙升100%怎么排查 执行"top"命令,查看当前进程CPU占用的实时情况,PID列是进程号,确定是哪个应用程序的问题. 如果是Java应用导致的,怎么定位故障原因 执 ...

  7. 【转帖】处理器史话 | 服务器CPU市场的战役, AMD、Intel和ARM的厮杀

    处理器史话 | 服务器CPU市场的战役, AMD.Intel和ARM的厮杀 https://www.eefocus.com/mcu-dsp/377300   说完了个性鲜明的消费类电子,接下来聊一聊通 ...

  8. 将 Django 应用程序部署到生产服务器

    原文出自: http://www.ibm.com/developerworks/cn/opensource/os-django/ 比较有启发性质的一篇文章,会避免很多弯路 Django 是一个基于 P ...

  9. linux c++应用程序内存高或者占用CPU高的解决方案_20161213

    对于绝大多数实时程序来说,实时处理相关程序中的循环问题所带来的对机器的损耗和自身的处理速度的平衡,以及与其他程序的交互以及对其他功能的影响难免会成为程序设计中最大的障碍同时也是最大的突破点. 在所有这 ...

随机推荐

  1. [转]在SQL中用正则表达式替换html标签

    本文转自:http://blog.csdn.net/dhttaso/article/details/6045380 由于数据库的一个表字段中多包含html标签,现在需要修改数据库的字段把html标签都 ...

  2. Java Classloader原理分析

       类的加载过程指通过一个类的全限定名来获取描述此类的二进制字节流,并将其转化为方法区的数据结构,进而生成一个java.lang.Class对象作为方法区这个类各种数据访问的入口.这个过程通过Jav ...

  3. hdu 2838 树状数组

    思路:从后面往前面插,用一个二维树状数组保存,c[i][0]表示比i小的元素和,c[i][1]表示比i小的元素个数. #include<iostream> #include<cstr ...

  4. CSS3秘笈第三版涵盖HTML5学习笔记9~12章

    第9章,装饰网站导航 限制访问,处于隐私方面考虑,浏览器已经开始限制可以对伪类:visited应用哪些CSS属性了.其中包括对已访问过的链接定义color.background-color.borde ...

  5. windows编程socket问题

    今天调试了个MFC网络程序,被bug困扰了一天,终于在收工前解决了. 大致是这样的,我们需要用上位机远程控制机器车前行.上位机上的MFC app的键盘按键响应如下:当按键按下时,系统会发送一个消息给a ...

  6. YSPASYS 中小型企业简单员工评价考核系统

    背景:公司运营接近2年时间了,随着不断的有员工入职.离职,使用信息化管理员工各类信息是一件很有必要的事儿.诸如员工基本信息,内部公告,资产盘点,客户管理,工作周报,优秀员工评选,请假.外出.报销.采购 ...

  7. 为什么要使用jQuery?

    首先必须得了解为什么要学习JQuery,JQuery有哪些优点,当然是相对于传统的Javascript和DOM来说了,现在将JQuery的优势总结如下: 1,轻量级. JQuery非常小,压缩包只有1 ...

  8. 引用类型之Function类型

    Function类型 ECMAScript中最有意思的就是函数了,有意思的根源,在于函数实际上是对象.每个函数都是Function的实例,具有属性和方法.而重要的一点是,函数名,不过是指向函数的指针, ...

  9. FreeMarker-Built-ins for strings

    http://freemarker.org/docs/ref_builtins_string.html Page Contents boolean cap_first capitalize chop_ ...

  10. C++与Lua交互(一)

    引言 之前做手游项目时,客户端用lua做脚本,基本所有游戏逻辑都用它完成,玩起来有点不爽,感觉"太重"了.而我又比较偏服务端这边(仅有C++),所以热情不高.最近,加入了一个端游项 ...