首页 文章

Windows服务定期将CPU定为100%,可能的方法来处理这种情况?

提问于
浏览
-1

我有一个Windows服务,我部分负责写作 . 它是半复杂的,在运行中创建了一堆图像,这些图像随后被送到Web应用程序 .

因此,它会定期将cpu固定为100% . 我以前在它上面运行了Ants Profiler来解决由于缺少处理对象等导致的一堆内存泄漏问题 .

现在可能大约每天一次它将机器上的CPU固定为100%,并且确实在整个系统中造成了很大的破坏 . 我看过这篇专门针对这种特定情况进行故障排除的帖子 . :

Windows Service Increasing CPU Consumption

我不会说我已经过去了,因为我会继续这样做,但我会说我正在寻找其他选择 . 基本上,在此期间处理这种情况的方法 .

例如,有没有办法可以监控服务本身内的CPU使用情况,并且在100%挂钩的cpu返回后自动重启服务?或者可能通过任务调度程序运行脚本或bat文件,该任务调度程序会不断检查此方案并在存在时重新启动服务?我知道这些不是很好的解决方案,但目前我正在寻找我能找到的最佳非根本原因解决方案 .

1 回答

  • 0

    听起来像GC(垃圾收集器)可能正在开始并压缩大量内存 . 如果是这种情况,您可以分配固定大小的缓冲区,这些缓冲区可以重复用于您的图像工作 . 你尝试过像perfmon这样的东西吗?

相关问题