问题描述
在用.net做一个基于内存的大容量缓存,但是我担心占用内存到一定限度后,会将内存交换到硬盘的虚拟内存上去,影响性能,请问谁知道在.net中能否禁用虚拟内存?或者设置驻留内存的大小?
解决方案
解决方案二:
没有这种功能吧,那应该是操作系统的功能
解决方案三:
[DllImport("kernel32.dll",EntryPoint="SetProcessWorkingSetSize")]publicstaticexternintSetProcessWorkingSetSize(inthProcess,intdwMinimumWorkingSetSize,intdwMaximumWorkingSetSize);
dwMinimumWorkingSetSizedwMaximumWorkingSetSize都设置成int.MaxValue
解决方案四:
上面的方法是设置进程内存使用的..net框架会有优化。系统也会按排进程优先级。如果要保证进程一定不用到虚拟侧内存不太好弄。.net做一个基于内存的大容量缓存这个还是应该可以的。
时间: 2025-01-01 00:05:53