关于操作系统长时间运行后调用Process.GetProcesses()的效率问题

weixin_38067747 2017-02-25 06:31:17
我现在开发的一个功能需要定时扫描正在运行的进程列表,以便于及时把意外退出的程序重新启动。
我使用Process.GetProcesses()获取操作系统当前运行的进程列表,在大多数的电脑上这并没有产生性能问题。
但是当我部署到一台长时间运行的服务器上时(已经连续运行147天,新开的PID已排到近百万),调用Process.GetProcesses()的处理时间竟然高达100毫秒,而一般情况下调用Process.GetProcesses()的时间消耗大概是几毫秒以内,这对我正在使用的系统性能造成了一定的影响。
不知道是否有谁可以告诉我该如何解决这样的一个问题?
谢谢!
...全文
21 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧