我有一个Windows 2012 R2的Web服务器,只运行一个网站,在ASP.NET 4.5.1,IIS 8.5上。 它没有,也没有安装ADangular色。
上个星期天,进程lsass.exe,突然开始使用20-40%的CPU。 我们没有改变服务器上的任何东西,也没有改变周围的networking。 (没有Windows更新发生在这一点上)
从那以后,网站逐渐恶化,响应时间越来越长,直到服务器重启,一切恢复正常,但从那里缓慢下山。 服务器现在必须每4-12小时重新启动,以保持网站正常运行。 服务器上的CPU使用率从未达到100%,并且还有可用的备用RAM。
从用来监视站点和服务器的New Relic中,看起来Request Queuing导致性能下降,从重启后约100ms增加到几小时后的10s +。
我有其他的服务器,使用相同的网站代码,运行在相同的环境,比这更多的负载,这并没有performance出这种行为。 (虽然他们在WS 2012(不是R2))
我已经监测到networkingstream量,并没有看到什么奇怪的。 在Perfmon中,一个突出的,似乎相互关联的东西是“Security per Process Statistics \ Credential Handles” ,对于lsass过程,它不断增加,在重启后只有less数几个启动,几个之后达到100.000+营业时间。 没有其他进程正在这样做,而在其他服务器上的lsass.exe,只有几百个“凭据句柄”
请参阅上个月的lsass.exe进程上的graphics: 
网站响应时间图,从新的文物。 每个峰值都要求重新启动,服务器也在较小的峰值上重新启动,在此图表上不可见: 
什么可能是错误的任何意见,以及如何解决?
编辑lsass.exe上的Process Explorer的TCP / IP面板的快照 
从lsass.exe中产生的一个典型线程的快照,这些在Process Explorer中每秒都会popup: 
在Windows 2012 R2和2008 R2 SP1上启用TLS 1.2(也是1.0和1.2)后,进程lsass.exe开始过载CPU。 我使用了IISCrypto40,点击“Best Practices”,在“Key Exchanges Enabled”左边只启用了PKCS。 之后,CPU上的负载恢复正常(5 – 10%)。 ps对不起英文的IISCrypto偏好
检查恶意软件。 我通过将meterpreter迁移到lsass来实现这一点,因为它授予我更多的权限。
我也看看进程资源pipe理器,看看你能看到什么线程导致高CPU。