06 2014 档案

Windbg 分析CPU上涨
摘要:症状: 下班前,收到报警邮件。一个应用的两台服务器CPU 过高。打开监控一看CPU都100了。没找到原因之前,先抓好DUMP 然后重启应用程序池。 !threadpool 可以看到CPU 利用率 !runaway 查看运行的线程和运行时间 解决CPU 高的问题,应该从运行的线程上分析。分析它们都在干 阅读全文

posted @ 2014-06-26 13:38 张日海 阅读(2193) 评论(1) 推荐(3)

Windbg 分析内存上涨
摘要:症状: 上次一站点发布后,发现服务器内存持续上涨。正常本地缓存占了4-5个G ,使用内存直接涨到20G后应用程序池重启。 检查代码后发现,没有什么内存泄漏的地方。最后还是找来DUMP文件排查原因。 !dumpheap –stat 查看当前所有托管类型的统计信息 System.Threading.Re 阅读全文

posted @ 2014-06-17 17:13 张日海 阅读(821) 评论(0) 推荐(2)

List集合去重
摘要:今天看到别人的代码使用 Linq 的Distinct进行去重。发现有很多需要注意的地方。实现方式如下:Linq 的Distinct方法需要传递一个自己实现IEqualityComparer的类来作为比较器。 public static class EnumerableExtension ... 阅读全文

posted @ 2014-06-13 11:56 张日海 阅读(657) 评论(0) 推荐(0)

Windbg 分析线程堵塞
摘要:症状: 端午发布后,服务器出现大量报错日志,并且平均响应时间不断上升。重启机器后立刻恢复正常,但还是运行一段时间后,响应时间又开始上升。 从报错日志中发现很多DB连接池满的错误。导致这种错误一般有两个原因: 1:SQL 执行完后,DbConnection 及时没有释放。 2:SQL 执行慢,占用了大 阅读全文

posted @ 2014-06-13 11:56 张日海 阅读(3748) 评论(0) 推荐(1)

导航