我们有一种情况,我们正在考虑在RAM非常低的服务器上强制进行垃圾收集(平均使用3.6/4GB).不,不幸的是,升级此服务器并不是一个真正的选择.
我们的一个服务进程(用C++间接编写(不要问...))可以使用.NET组件,然后睡10分钟.当该服务处于休眠状态时,它通常会挂在可以与其他进程共享的600MB RAM上.似乎某种方式与WSE跟踪有关,用于调试.我可以看到它在第一次COM调用.NET的下一次迭代时唤醒和GC - 然而这个过程做了一些工作,当它进入睡眠状态时,RAM使用量恢复到大约600MB ......好吧,你可以看出这是怎么回事......
问题:我正在考虑在进程进入睡眠状态之前添加垃圾收集.此框中还有其他服务正在执行与.NET相关的任务.当我在此服务进程中调用垃圾收集时,该GC是否影响该框上的所有其他.NET相关进程或仅影响请求收集的进程?我有点担心为我所关心的流程之外的流程创建某种性能问题.