मैंने सोचा कि 64 बिट प्रक्रिया के लिए अधिकतम उपयोगकर्ता स्थान 8TB था, लेकिन मैंने थोड़ा परीक्षण किया और अधिकतम मुझे 10-11GB प्राप्त हो सकता था।नेट। X64 प्रक्रिया में मुझे 11GB से अधिक आवंटित स्मृति क्यों नहीं मिल सकती है?
नोट: मैं की जरूरत नहीं है कि अधिक स्मृति एक प्रक्रिया में, मैं सिर्फ क्यों जिज्ञासा से बाहर समझना चाहते हैं।
static void Main(string[] args)
{
List<byte[]> list = new List<byte[]>();
while (true)
{
Console.WriteLine("Press any key to allocate 1 more GB");
Console.ReadKey(true);
list.Add(new byte[1024 * 1024 * 1024]);
Console.WriteLine("Memory size:");
double memoryUsage = Process.GetCurrentProcess().PeakVirtualMemorySize64/(double)(1024 * 1024 * 1024);
Console.WriteLine(memoryUsage.ToString("0.00") + " GB");
Console.WriteLine();
}
}
संपादित करें:
अपडेट किया गया परीक्षण कार्यक्रम अधिक नियतात्मक होने की
यहाँ अपने परीक्षण कार्यक्रम है।
एक जवाब मुझे पता है कि अगर 8TB केवल सैद्धांतिक है असली अधिकतम आबंटित स्मृति की गणना के तरीके चाहते हैं स्वीकार करने के लिए।
आपके सिस्टम में कितनी मेमोरी है? शायद 12 जीबी? –
विस्टा x64 पर 4 जीबी भौतिक मेमोरी अल्टीमेट –
पेजिंग फ़ाइल कितनी बड़ी है? –