আপনার dmesg"স্মৃতি আকবি / বিকেবি উপলব্ধ" মানগুলি পড়তে হবে :
এখনই ব্যবহারের জন্য একটি উপলভ্য আছে এবং সিস্টেমের সর্বোচ্চ পৃষ্ঠার ফ্রেম সংখ্যাটি পৃষ্ঠার আকার দ্বারা গুণিত হয় বি is
এটি থেকে arch/x86/mm/init_64.c:
printk(KERN_INFO "Memory: %luk/%luk available (%ldk kernel code, "
"%ldk absent, %ldk reserved, %ldk data, %ldk init)\n",
nr_free_pages() << (PAGE_SHIFT-10),
max_pfn << (PAGE_SHIFT-10),
codesize >> 10,
absent_pages << (PAGE_SHIFT-10),
reservedpages << (PAGE_SHIFT-10),
datasize >> 10,
initsize >> 10);
nr_free_pages()কার্নেল দ্বারা পরিচালিত শারীরিক মেমরির পরিমাণ প্রদান করে, বর্তমানে এটি ব্যবহৃত হচ্ছে না। max_pfnসর্বোচ্চ পৃষ্ঠার ফ্রেম নম্বর ( PAGE_SHIFTশিফটটি কেবিতে রূপান্তর করে)। সর্বাধিক পৃষ্ঠার ফ্রেম সংখ্যাটি আপনার প্রত্যাশার চেয়ে বেশি (অনেক বেশি) হতে পারে - বিআইওএস দ্বারা করা মেমরি ম্যাপিংয়ে গর্ত থাকতে পারে।
এই গর্তগুলি কতটা নেয় তা absent_pagesভেরিয়েবল দ্বারা ট্র্যাক করা হয় , হিসাবে প্রদর্শিত হয় kB absent। এটি "উপলভ্য" আউটপুট এবং আপনার প্রকৃত, ইনস্টল হওয়া র্যামের মধ্যে দ্বিতীয় সংখ্যাটির মধ্যে বেশিরভাগ পার্থক্য ব্যাখ্যা করবে।
আপনার জন্য grep করতে BIOS-e820মধ্যে dmesgথেকে "দেখুন" এই ছিদ্র। মেমরি মানচিত্র সেখানে প্রদর্শিত হবে ( dmesgবুটের পরে আউটপুট শীর্ষে )। আপনার আসল, ব্যবহারযোগ্য র্যাম কী শারীরিক ঠিকানা রয়েছে তা আপনার দেখতে সক্ষম হওয়া উচিত।
(অন্যান্য এক্স 86 কিরক এবং সংরক্ষিত মেমরি অঞ্চলগুলি সম্ভবত বাকীগুলির জন্য অ্যাকাউন্ট করে - আমি সেখানে বিশদটি জানি না))
MemTotalমধ্যে /proc/meminfoর্যাম ব্যবহারের জন্য উপলব্ধ নির্দেশ করে। বুট অনুক্রমের শেষে, কার্নেল initতথ্য আর মুক্ত করে না, তাই /proc/meminfoবুট অনুক্রমের প্রাথমিক অংশগুলির সময় কার্নেল প্রিন্ট করে তার চেয়ে কিছুটা বেশি হতে পারে reported
( এই প্রদর্শনটির জন্য meminfoঅপ্রত্যক্ষভাবে totalram_pagesব্যবহার করে x x86_64 এর জন্য, এটি arch/x86/mm/init_64.cখুব সহজেই গণনা করা হয় free_all_bootmem()যার মাধ্যমে নিজেই mm/bootmem.cনন-NUMA কার্নেলের মধ্যে রয়েছে))