我在Windows Server 2008上遇到了一些麻烦。我们正在使用它来在IIS上托pipe一大堆(〜50个)Web GIS应用程序。
这种设置通常工作得很好,但是当某些应用程序有特定的设置时,会发生泄漏,并且只有在应用程序池或服务器重新启动之后才能访问服务器。
我想知道如何find罪魁祸首,似乎perfmon是一个很好的select。 如果我想将perfmon连接到我的服务器,这是我的域之外,那么需要做什么?
另外,还有没有其他(和/或更好的)工具可以远程连接,看看哪个进程占用了所有的服务器内存?
这听起来像是任何体面的监控应用程序的标准scheme。 如果泄漏严重,需要重新启动服务器,那么我怀疑非分页池正在填满所有可用的RAM。 这是一个可以测量的性能计数器(Memory \ Pool Nonpaged Bytes),并在超出限制时收到警报。
尽pipe可以尝试在性能监视器中设置一个会自动重启服务器的触发器,但是我认为用Windows本身并不能完成很多检测和/或采取纠正措施。
计划重新启动IIS的一个选项?
如果没有这些,我们提供一个名为EventSentry Light的免费第三方软件,它可以自动检测性能计数器中的泄漏(例如,内存使用量不断增加),然后触发重启(例如,如果值超过一定的阈值)。 EventSentry的商业版本也收集性能数据,然后通过基于networking的报告进行审查。