Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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
C# 工作进程回收所需内存使用量的经验法则?_C#_.net_Asp.net_Worker Process - Fatal编程技术网

C# 工作进程回收所需内存使用量的经验法则?

C# 工作进程回收所需内存使用量的经验法则?,c#,.net,asp.net,worker-process,C#,.net,Asp.net,Worker Process,我有很多这样的代码库: byte[] contents = FileUtils.FileToByteArray(FileOfGartantuanProportions); 我不控制我的IIS服务器,所以我看不到系统日志或进行检测,我只看到我的请求无法返回(白色死亡页面),有时YSOD出现内存不足错误 在IIS5或IIS6终止工作进程或死掉之前,有没有人有一个经验法则来确定您可以加载到内存中的最多数据是什么 或者更好的是,是否有API调用,比如: if(!IsEnoughMemoryFor(

我有很多这样的代码库:

byte[] contents = FileUtils.FileToByteArray(FileOfGartantuanProportions);
我不控制我的IIS服务器,所以我看不到系统日志或进行检测,我只看到我的请求无法返回(白色死亡页面),有时YSOD出现内存不足错误

在IIS5或IIS6终止工作进程或死掉之前,有没有人有一个经验法则来确定您可以加载到内存中的最多数据是什么

或者更好的是,是否有API调用,比如:

  if(!IsEnoughMemoryFor(FileOfGartantuanProportion.Length)) throw new SomeException() ;

在我的XP Pro工作站上,我可以获得一个ASP.NET页面,以成功处理内存中非常大的字节数组,但这些结果显然不适用于真正的共享服务器。

使用本机模式的IIS6,您可以配置每个应用程序池的限制


对于IIS5,它是使用machine.config中的元素作为总系统内存的百分比进行配置的-默认值为60%。

对于IIS 6,您可能会遇到PeriodicRestartPrivateMemory和PeriodicRestartMemory。我认为在XP上,它占物理内存的60%。至少这是我对asp.NET1.1的记忆,我对2.0不太清楚

YSOD可能最好通过try/catch来处理大型分配。

根据TechEd的谈话,当您有大约800MB的专用字节或1.4GB的虚拟字节时,您可以开始在32位服务器上看到内存不足异常

她还发表了一篇关于为什么会出现这样的帖子:

她提出的其他观点还包括考虑将什么序列化到会话中——例如,序列化1MB数据集会导致服务器每页使用15-20MB的内存,因为这些数据是序列化和反序列化的