【201163】线程过多导致cpu利用率 100%

背景:

  因为程序设计的不合理,程序的版本的控制也不到位,无法找出原先使用的程序。

  猜测可能是程序的连接池异常,导致sysprocesses,高达2900 以上。

原因:

  sql server 会话过多,导致可用内存在100M以下,cpu利用率居高不下。非空闲线程在100以内。服务器环境(奔腾单核,2.0Ghz,内存1.2G)

  sql server 会话过多,导致可用内存在80M左右,cpu利用率正常。非空闲线程在100以内。服务器环境(xeon 2.0 4核,2G内存),开tasklist,cmd 明显感觉卡。

处理方法:

  1.手动kill 会话,存在风险。如果程序不是通过连接池就很危险。

  2.定期重启应用程序,sql server 会自动清理已经断开连接的线程。  

原文地址:https://www.cnblogs.com/Amaranthus/p/2072748.html