我需要使用动态RAM强制终端服务器为我的精简运行.NET应用程序提供更多RAM,从而减少.NET GC RAM压力并提高性能.
对于使用X86作为目标编译的大型Microsoft .NET C#WinForms应用程序,是否有垃圾收集器或其他.NET Framework设置可用于允许我的应用程序使用更多RAM来提高性能,而不是让.NET垃圾收集器试图保持RAM控制如此紧张?
我希望有一些.NET GC提示,设置或.NET框架函数调用来调整它运行的精简程度.
原因: 我的应用程序在其工作时间内的每个工作日被数千个终端服务器上的数万个用户使用.在15年的部署期间,我发现当每个实例提供大约1.85GB的RAM时,应用程序将充分运行.
我们已经进行了重大的开发,以确保最小的RAM使用率和内存泄漏得到控制.(IE:Using(){},在每个对象上调用Dispose等等)
然而,这是一个巨大的应用程序,几乎完成了客户业务操作的所有任务,包括一些图形和更多,我期望大量的RAM使用.
在我们删除旧的第三方GUI控件之前,我无法更改为64位,这将需要数月的开发和管理不会让我安排,因为它不会提供任何直接的最终用户升级.(除了总体上更好的表现....)
问题在于说服主机终端服务器的客户的IT公司添加所需的RAM以保持性能.他们的典型论点是,虚拟机不会报告大量的RAM使用情况,这就意味着我需要花费几天的时间来说服他们,这不是在这种情况下使用的最佳指标.
此外,对于使用动态RAM的服务器,可以降低应用程序性能,而无需正确增加OS RAM.
我的目标是调整一些设置以允许更多的RAM使用(不使用不需要/假的内存消耗)并推动这些服务器根据需要分配更多的RAM.