2009-09-28 101 views
0

我已經寫了一個應用程序,用於在磁盤或RAM上佔用內存。這背後的原因是測試應用程序的某些部分如何以少量內存運行,並以較低的磁盤空間測試各種安裝程序等。這非常有用,但是現在我不得不將它們限制在2Gb。.NET內存限制

不幸的是,有時候我需要消費的不僅僅是2Gb,而且必須多次打開應用程序,這很煩人。簡而言之,我有辦法解決32位操作系統上的2Gb限制嗎?

回答

3

就吃掉磁盤空間而言,您可以通過創建多個文件而不是一個文件來超過2GB的限制。對於內存,您可能會考慮讓進程自動產生足夠的子進程以消耗您嘗試進食的RAM數量。

+0

啊,那是真的。沒有想過使用單獨的過程。 – Ian 2009-09-28 08:53:07

3

對於磁盤上的文件,您不應該限制爲2GB,磁盤使用什麼格式?

  • FAT = 4GB
  • NTFS = 16TB

在.NET存儲器模型是受所有應用程序的相同限制。名義上,這是在32位操作系統上的每個應用程序2GB。有一些通用選項可能會允許您增加此選項。

  1. boot.ini中的/ 3GB開關將2Gb增加到3GB。
  2. PAE(物理地址擴展)允許您在頁面切換方法中訪問4GB以上的內存。您通常需要自己編寫對此的支持(或希望Microsoft在框架/ CLR中爲您完成)。

查看此選項的detailed description(適用於Windows)。

+0

「或者希望微軟在框架/ CLR中爲你做到這一點」。我記得他們沒有讀過。雖然不記得來源。 – Joren 2009-09-28 09:01:02