jjzjj

VirtualLock

全部标签

c# - 防止对象被调出(等效于 VirtualLock)

如何将对象保存在内存中,使其不会被.Net中的操作系统调出页面?即类似于VirtualLock的东西,但是在一个对象上操作,这样如果压缩发生并且对象被移动它仍然不会被分页等等。(我想可以固定对象的,确定它属于哪些页面,然后VirtualLock这些页面,但出于多种原因,这似乎是不可取的。)如果可能的话,你能给我指一个引用或工作样本吗?(最好是C#) 最佳答案 你看过这个吗http://www.codeplex.com/NonPagedCLRHost? 关于c#-防止对象被调出(等效于Vi

windows - 意外的页面处理(也是,VirtualLock = no op?)

今天早上,我偶然发现了数量惊人的页面错误,这些都是我没想到的。是的,我可能不必担心,但这仍然让我感到奇怪,因为据我所知,它们不应该发生。而且,如果他们没有,我希望更好。该应用程序(在WinXPPro32bit下)使用VirtualAlloc(MEM_RESERVE)保留较大部分(1GB)的地址空间,然后使用VirtualAlloc(MEM_COMMIT)分配较大的内存块(20-50MB)。这是在工作人员中提前完成的,目的是使主线程尽可能少地停顿。显然,除非内存区域当前处于锁定状态,否则您无法确保不会发生任何页面错误,但是其中一些绝对是可以容忍的(并且是不可避免的)。令人惊讶的是,每个页