• 实际遭遇GC回收造成的Web服务器CPU跑高团队


    今天下午有段时间访问园子感觉不如以前那么快的流畅,上Web服务器一看,果然,负载均衡中的1台云服务器CPU跑高。

    博客园Web服务器CPU跑高

    上图中红色曲线表示的是CPU占用率。正常情况下,CPU占用率一般在40%以下。

    这台云服务器是2台主力Web服务器(承担了80%以上的访问量)中的1台,8核CPU/8G内存,用的是阿里云的临时磁盘云服务器,之前一直表现出色,今天怎么突然CPU跑高呢?难道临时磁盘云服务器的CPU也有问题?向阿里云提交工单,得到的反馈是云服务器所在的物理机表现良好。

    为了尽快解决问题,我们在负载均衡中新加了1台云服务器,将这台云服务器撤下,然后奇怪现象出现了:

    在没有任何访问请求的情况下,CPU占用竟然一直在50%左右。

    打开Windows任务管理器一看,50%的CPU一直被IIS进程占用着,并且IIS进程占用了5G以上的内存。

    我们判断可能是GC回收引发的CPU消耗,理由很简单——在没有任何请求的情况下,依然在拚命工作的唯有GC(Garbage Collection)。于是我们立即回收IIS应用程序池(GC在回收,我们回收GC),进行了2次回收操作,才回收掉。回收之后,CPU占用立马下降。

    然后把这台云服务器重新投入战斗,立即恢复为之前正常的战斗状态。

    Web服务器恢复了战斗状态,而我们则要更加努力的战斗——优化代码,减轻GC的压力。

  • 相关阅读:
    HL7及PIX相关的测试工具
    HDU4570----Multi-bit Trie----简单的DP
    hdu2248
    poj 3693 Maximum repetition substring (后缀数组)
    高性能通道
    volyaire重振Infiniband
    利用iWARP/RDMA解决以太网高延迟
    linux 单网卡来绑定多IP实现多网段访问以及多网卡绑定单IP实现负载均衡
    C细节学习
    每2秒获取系统的赋值及内存使用率
  • 原文地址:https://www.cnblogs.com/cmt/p/gc-high-cpu-usage.html
Copyright © 2020-2023  润新知