Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net MSMQ RAM使用情况,如何在处理后释放内存而不重新启动windows服务_.net - Fatal编程技术网

.net MSMQ RAM使用情况,如何在处理后释放内存而不重新启动windows服务

.net MSMQ RAM使用情况,如何在处理后释放内存而不重新启动windows服务,.net,.net,我有一个处理xml文件的windows服务。将要处理的文件的详细信息添加到MSMQ中。应用程序使用线程检索MSMQ中的项目,然后处理这些文件。当我处理超过一百个文件时,我会得到“内存不足异常”。RAM的使用率很高,这意味着即使在处理文件之后,RAM中的内存也不会被释放。只有在重新启动服务后,我才能继续处理。如何在不限制服务的情况下释放内存 谢谢优化.NET应用程序内存可能很有挑战性。首先,您必须知道,在大多数情况下,巨大的内存消耗是由对象关系管理不善造成的。但是,在一些情况下,消费可能是由于错误

我有一个处理xml文件的windows服务。将要处理的文件的详细信息添加到MSMQ中。应用程序使用线程检索MSMQ中的项目,然后处理这些文件。当我处理超过一百个文件时,我会得到“内存不足异常”。RAM的使用率很高,这意味着即使在处理文件之后,RAM中的内存也不会被释放。只有在重新启动服务后,我才能继续处理。如何在不限制服务的情况下释放内存


谢谢

优化.NET应用程序内存可能很有挑战性。首先,您必须知道,在大多数情况下,巨大的内存消耗是由对象关系管理不善造成的。但是,在一些情况下,消费可能是由于错误使用.NET基础设施造成的

考虑以下条款:


因此,您可以做的是更改公寓状态或显式调用垃圾收集器。如果这些都没有帮助,你唯一能做的就是检查project之间的关系,很可能你会发现一些没有正确维护的集合。

我们有一个使用MSMQ的应用程序,客户报告的内存使用率太高,结果我们的应用程序没有内存泄漏,但MSMQ的使用率太高。MSMQ是通过设计使用大量内存来加速的。最后,我们讨论了如何减少MSMQ流量