C#程序最大占用的内存空间
2017-11-16 17:19
337 查看
During our recent blog chat, there were a number of topics that were asked about and I am going to expand on some of them. The first one is the memory limits for different processes.
This really depends on a few different things. The architecture of the process (32-bit or 64-bit) and also the architecture of the Operating System the process is running on. For 32-bit it also depends if you use the /3GB
switch or not.
So I broke this up based on these things into the table below, this is the maximum amount of memory available for the process assuming you have that much RAM and Pagefile space.
These process numbers are contingent on how much RAM and disk space you have, so if you have 4 GB of RAM and 4 GB Pagefile, the total memory of all running processes can’t be greater then 8 GB.
Note: If you let Windows manage your Pagefile size, when you hit this limit, Windows will try to grow your Pagefile as long as there is disk space available.
For the amount a .NET application will use before we can expect to see out of memory, those numbers are:
Keep in mind that although a .NET process can grow this large, if the process is multiple GB in size, it can become very difficult for the Garage Collector to keep up with the memory as Generation 2 will become very large. I’ll talk about the generations more
in an upcoming post.
Hopefully that will clear up how much memory each one uses.
Keep checking the RECAP- ASP.NET Blog Chat to see other topics
that Tess or I write about.
This really depends on a few different things. The architecture of the process (32-bit or 64-bit) and also the architecture of the Operating System the process is running on. For 32-bit it also depends if you use the /3GB
switch or not.
So I broke this up based on these things into the table below, this is the maximum amount of memory available for the process assuming you have that much RAM and Pagefile space.
32-bit OS | 64-bit OS | |
32-bit process | 2 GB | 4 GB |
32-bit process with /3GB | 3 GB | N/A |
64-bit process | N/A | 16 TB |
Note: If you let Windows manage your Pagefile size, when you hit this limit, Windows will try to grow your Pagefile as long as there is disk space available.
For the amount a .NET application will use before we can expect to see out of memory, those numbers are:
32-bit OS | 64-bit OS | |
32-bit process | 800-1200 MB | 2800 MB |
32-bit process with /3GB | 1800 MB | N/A |
64-bit process | N/A | 2800 MB if using a 4 GB process or more if more RAM (around 70% of RAM + Pagefile) |
in an upcoming post.
Hopefully that will clear up how much memory each one uses.
Keep checking the RECAP- ASP.NET Blog Chat to see other topics
that Tess or I write about.
相关文章推荐
- C#查看程序占用系统的内存
- 控制C#编的程序内存的占用
- 检测系统中内存占用最大的程序
- 如何Dump当前Java应用的内存结构,并进行分析找到占用空间最大的Class
- centos服务器如何用命令查看哪个程序内存占用情况,硬盘空间占用
- 【转】有效减少WinForm程序的内存占用 C#
- paip.提升性能---C#.NET程序内存占用过多以及OutOfMemory解决方法
- nios中优化代码和减少程序占用内存空间的设置方法
- C#查看程序占用系统的内存
- C#_.Net程序减少内存占用的方法(SetProcessWorkingSetSize)
- 使用CLR Profiler查看C#运行程序的内存占用情况
- 对于c#软件或者服务程序 内存占用多的解决方案
- Linux下查看某一个程序运行所占用的内存
- 由C/C++编译的程序占用的内存分配-堆与栈的区别
- C++中一个类对象占用的内存空间大小
- 如何让程序占用空间达到最小(如果可以的话能把方法都列出来吗?)
- 查找Linux系统中的占用磁盘空间最大的前10个文件或文件夹
- C程序存储空间布局——各数据段的内存位置
- 汇编语言---关于自定义的段占用内存空间
- 程序运行时的内存空间分布