zoukankan      html  css  js  c++  java
  • 记录一次排查cpu 上涨问题

    问题:

         迁移重构时新站点的时候,压测过程中发现一个问题。cpu 随着url 的不断打入,cpu 使用率不断上涨,甚至 一直到 100%。发现这个现象后,首先第一个反应是,肯定是 某处代码发生了死循环,导致大量线程block住。

    排查过程(过程走了很多弯路):

         1. 首先找到服务进程,pstack 看看有哪些线程 出现了相同的栈,多看几次,看哪些线程 是一直存在的,找到怀疑的线程。这里会发现 很多线程有一些类似的栈

         2.找到一个怀疑的线程,gdb attach 到进程中,看 info threads, 确实很多线程是在一个栈上 ,然后 切换到 怀疑的线程上,thread x , 在栈上 找到相应代码中一些关键变量打印出来,以及 造成问题的url。

         3.对应有问题的变量,看代码中的逻辑是否有问题,以及对应加载的数据文件是否存在问题。

  • 相关阅读:
    物理数据库设计
    物理数据库设计
    NHibernate 帮助类(单例实际运用)
    HttpContext请求上下文对象
    SqlDataReader类
    在你不懂怎么做的时候
    System.Object 基类
    逻辑数据库设计
    逻辑数据库设计
    NHibernate使用MemCache二级缓存
  • 原文地址:https://www.cnblogs.com/simplepaul/p/13834028.html
Copyright © 2011-2022 走看看