3.৪-বিট দেবিয়ানে কেবল ৩.২ জিবি র‌্যাম সনাক্ত হয়েছে


9

আমি ডেবিয়ান স্কুইজ (x64) চালাচ্ছি:

# uname -srvmo
Linux 2.6.32-5-amd64 #1 SMP Mon Jan 16 16:22:28 UTC 2012 x86_64 GNU/Linux

আমার জি 31 এম-এস মাদারবোর্ডে 2 ডিডিআর 2 এর সামঞ্জস্যপূর্ণ 2 জিবি স্টিক রয়েছে । এটি 8 গিগাবাইট পর্যন্ত সমর্থন করে:

এখানে চিত্র বর্ণনা লিখুন

যেহেতু এটি একটি সার্ভার, তাই আমি গ্রাফিক্স সম্পর্কে সত্যই চিন্তা করি না। তাই আমি এটিকে সর্বনিম্নে সেট করলাম।

Internal Graphics Mode Select: Auto
                               Enabled, 1MB   <--
                               Enabled, 8MB
DVMT Mode Select:              Fixed Mode     <--
                               Auto
    DVMT/FIXED Memory:         128MB          <--
                               256MB

এখানে চিত্র বর্ণনা লিখুন

তবে, লিনাক্স কেবল 3.19GiB মেমরি সনাক্ত করছে:

# cat /proc/meminfo
MemTotal:        3350712 kB
...

E820 মানচিত্রের দিকে তাকিয়ে :

[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
[    0.000000]  BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000e6000 - 0000000000100000 (reserved)
[    0.000000]  BIOS-e820: 0000000000100000 - 00000000cfdb0000 (usable)
[    0.000000]  BIOS-e820: 00000000cfdb0000 - 00000000cfdc0000 (ACPI data)
[    0.000000]  BIOS-e820: 00000000cfdc0000 - 00000000cfdf0000 (ACPI NVS)
[    0.000000]  BIOS-e820: 00000000cfdf0000 - 00000000cfe00000 (reserved)
[    0.000000]  BIOS-e820: 00000000fed00000 - 00000000fed00400 (reserved)
[    0.000000]  BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
[    0.000000]  BIOS-e820: 00000000ff380000 - 0000000100000000 (reserved)
[    0.000000] DMI present.
[    0.000000] AMI BIOS detected: BIOS may corrupt low RAM, working around it.
[    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)

এবং একটি সামান্য গণিত করছেন:

>>> ((0x9F800 - 0x10000) + (0xCF6B0000 - 0x100000)) / 1024.0 / 1024.0 / 1024.0
3.240476608276367

আমরা ঠিক একই উত্তর পেতে।

আমি কী মিস করছি?


আমি "পিসিআই ঠিকানা স্পেস" যুক্তিটি পুরোপুরি কিনছি না buying দুটি 2 গিগাবাইটের মধ্যে একটি স্টিক আউট করে সেটআপ স্ক্রিনটি 2048 এমবি দেখায়।

# cat /proc/meminfo
MemTotal:        2058432 kB

এটি 1.96 জিবি।

E820 মানচিত্র আবার:

[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
[    0.000000]  BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000e6000 - 0000000000100000 (reserved)
[    0.000000]  BIOS-e820: 0000000000100000 - 000000007fdb0000 (usable)
[    0.000000]  BIOS-e820: 000000007fdb0000 - 000000007fdc0000 (ACPI data)
[    0.000000]  BIOS-e820: 000000007fdc0000 - 000000007fdf0000 (ACPI NVS)
[    0.000000]  BIOS-e820: 000000007fdf0000 - 000000007fe00000 (reserved)
[    0.000000]  BIOS-e820: 00000000fed00000 - 00000000fed00400 (reserved)
[    0.000000]  BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
[    0.000000]  BIOS-e820: 00000000ff380000 - 0000000100000000 (reserved)
[    0.000000] DMI present.
[    0.000000] AMI BIOS detected: BIOS may corrupt low RAM, working around it.
[    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)

এবং গণিত ...

>>> ((0x9F800 - 0x10000) + (0x7fdb0000 - 0x100000)) / 1024.0 / 1024.0 / 1024.0
1.9973125457763672

তাই আমি 2 জিবি / 2 জিবি পেয়েছি। /proc/cpuinfoদেখায় যে আমার প্রসেসর 36-বিট শারীরিক ঠিকানা সমর্থন করে। 2 ^ 36 = 64 জিবি, যা আমি খুব কাছেও নেই।


# ./smem -R 4G -w
Area                           Used      Cache   Noncache
firmware/hardware            843592          0     843592
kernel image                      0          0          0
kernel dynamic memory        181116     134616      46500
userspace memory             287784      19736     268048
free memory                 2881812    2881812          0

BIOS এ মেমরি রিম্যাপিং চালু রয়েছে তা নিশ্চিত করুন ।
ডেভিড শোয়ার্টজ

@ ডেভিডশওয়ার্টজ আমি এটি চালু করার চেষ্টা করেছিলাম, এবং কার্নেলটি বুটে আতঙ্কিত। যদিও আমি এটি সরাসরি লাইভ দিয়ে চেষ্টা করতে পারি।
জোনাথন রাইনহার্ট

@ ডেভিডশওয়ার্টজ আপনি একেবারে সঠিক are মেমরি রিম্যাপিং চালু করে মনে হয় কৌশলটি সম্পন্ন হয়েছে। এটি চালু না করে, মেমেমেস্ট 86 + ~ 3300 এমবি প্রতিবেদন করে। এটি চালু হওয়ার সাথে সাথে এটি 4086 এমবি রিপোর্ট করে। আপনি যদি এই উত্তরটি দেন তবে আমি সানন্দে গ্রহণ করব।
জোনাথন রাইনহার্ট

উত্তর:


5

আপনাকে BIOS এ মেমরি রিম্যাপিং চালু করতে হবে। অন্যথায়, এটি 4GB সীমানার উপরে মেমরিটিকে পুনরায় তৈরি করবে না এবং কিছু মেমরি হার্ডওয়্যার ম্যাপিং দ্বারা আচ্ছাদিত হবে।


এই সমস্যা ছিল। মেমরি রিম্যাপিং চালু করে মনে হয় কৌশলটি সম্পন্ন হয়েছে। এটি চালু না করে, মেমেমেস্ট 86 + ~ 3300 এমবি প্রতিবেদন করে। এটি চালু হওয়ার সাথে সাথে এটি 4086 এমবি রিপোর্ট করে।
জোনাথন রাইনহার্ট

একইভাবে, Memory Hole Remapping(এএমআইবিআইওএস) সক্রিয় করার আগে , পোষ্ট প্রায় 3.3 জিবিবি রিপোর্ট করবে, আর ডিএমআই এখনও দুটি জিআইবির দুটি মডিউল তালিকাভুক্ত করবে।
এনজেএসজি

5

পিসিআই ঠিকানা স্থানের কিছু ব্যবহার করে। পিসিআই কার্ড এবং পিসিআই উভয় ডিভাইসই মাদারবোর্ডে তৈরি করে (যেমন চিপসেট হিসাবে)।

সাধারণত এর অর্থ হ'ল 4 গিগাবাইটের মধ্যে কেবল 3¼ থেকে 3। গিগাবাইট পাওয়া যায়, এমনকি আপনি যদি প্রচুর অনবোর্ড র‌্যামের সাথে আধুনিক জিপিইউ ব্যবহার না করেন।


আমি এই ঘটনাটি বেশ উপেক্ষা করেছি ... আমার মানে 0.8 জিবি? যাইহোক, e820 মানচিত্রের শীর্ষটি 0x100000000 == 1<<32যা আকর্ষণীয়। তাহলে BIOS কেন 1 << 32 এর উপরে র‌্যামের বাকী র‌্যাপ ম্যাপিং করছে না? এটি একটি সেলেনর E3400, এবং /proc/cpuinfoবলে address sizes : 36 bits physical, 48 bits virtualযে এটি GB৪ গিগাবাইটের জন্য ভাল হওয়া উচিত। ( (1<<36) / (1024*1024*1024) == 64)
জোনাথন রেইনহার্ট

আমার পুরানো টিয়ান মাদারবোর্ডের ম্যানুয়ালটি কেবলমাত্র এটিই আমাকে সতর্ক করে বলে মনে হয়েছিল যে এটি 4 জিবি র‌্যাম সমর্থন করলেও এটি কখনই ওএসের কাছে প্রকাশ করতে পারে না। ব্যবহৃত সম্প্রসারণ কার্ডের উপর নির্ভর করে (প্লেইন ওল্ড পিসিআই, M 66 মেগাহার্টজ, bit৪ বিট) এটি প্রায় ৩.৩ জিবি ব্যবহারের যোগ্য স্থানটি প্রকাশ করবে। আমি কখনই এটি পরীক্ষা করতে পারি নি, 512 এমবি র‌্যাম আমার পক্ষে সামর্থ্য ছিল। (এটি তখন ফিরে এসেছিল যখন এই দ্বৈত সিপিইউ মাদারবোর্ডটির অর্থ এখনও দুটি শারীরিক সিপিইউ ব্যবহার করা হয়েছিল then
হেনেস

আমার সম্পাদনা দেখুন। আমি মনে করি সমস্যাটি হ'ল হয় যে কোনও একটি বিআইওএস কোনও স্মৃতি সম্পর্কে রিপোর্ট করতে অস্বীকার করেছে 1<<32, বা এই কার্নেল এটি কীভাবে বুঝতে পারে তা জানে না।
জোনাথন রাইনহার্ট

আপনি কি অভ্যন্তরীণ গ্রাফিক্স দ্বারা ব্যবহৃত ভাগ করা মেমরিটি বিবেচনা করেছেন? আপনি যদি smemইনস্টল করে smem -R 4G -wথাকেন তবে উপলব্ধ / ব্যবহৃত মেমরির একটি সাধারণ ওভারভিউয়ের চেষ্টা করুন ।
ইজজি

1
@ হেনেস এই উত্তরটি যদি সঠিকভাবে তৈরি হয় তবে এটি যদি 32-বিট সিস্টেম হয়। তবে 64-বিটের জন্য নয় (36-বিট শারীরিক মেমরির ঠিকানা দিয়ে)।
জোনাথন রাইনহার্ট

2

আপনার নিখোঁজ র‌্যাম ফার্মওয়্যার দ্বারা ব্যবহৃত হয়েছে:

# ./smem -R 4G -w
Area                           Used      Cache   Noncache
firmware/hardware            843592          0     843592
kernel image                      0          0          0
kernel dynamic memory        181116     134616      46500
userspace memory             287784      19736     268048
free memory                 2881812    2881812          0

সাতরে যাও:

echo $((181116 + 287784 + 2881812 + 843592))
4194304

সুতরাং আপনি দেখুন, এটি 4 গিগাবাইট পর্যন্ত যোগফল। এবং আপনার অনুপস্থিত প্রতিবেদন করা ~ 800M এখানে রয়েছে:

firmware/hardware            843592          0     843592

হ্যাঁ, এবং আমি এতে অবাক হই না। প্রশ্নটি হল, বিআইওএস কেন উপরে 800 এমবি র‌্যামের প্রতিবেদন করছে না 0x100000000 (1<<32)? এটি এমন আচরণ করছে যেন এটি 32 বিট সিস্টেম।
জোনাথন রাইনহার্ট

হ্যাঁ, আমি মনে করি এই উত্তরটি বৈধ, তবে সেই চূড়ান্ত প্রশ্নটি রয়ে গেছে :-)
জোনাথন রেইনহার্ট

সুতরাং smem -R 2G -wমেশিনে কেবল 2 জি দিয়ে কী বলা যায় (বিশেষত ফার্মওয়্যার / হার্ডওয়্যার সম্পর্কিত, যে অংশটি মনে হয় "অনুপস্থিত 800 এম" 4 জি নিয়ে গেছে)? হঠাৎ ফার্মওয়্যারের আর সেই 800 এম প্রয়োজন না হলে বেশ মজার লাগবে ...
Izzy

এটির সাথে কী করতে পারে AMI BIOS detected: BIOS may corrupt low RAM, working around it.- এবং উইকিপিডিয়া মন্তব্যটি (আপনার e820link থেকে) "কখনও কখনও BIOS বগি হয় এবং ভুলভাবে সংরক্ষিত মেমরির রিপোর্ট করে This ? সম্পাদনা: আহা, না - এটি কেবল 800 এম হিসাবে নয় 64 কে হয়ে যাবে ...
ইজজি

আমি বাড়ি ফিরলে আমি যাচাই করতে পারি তবে আমি ধরে নিচ্ছি এটি একই জিনিস বলবে। 2GB এর জন্য E820 মানচিত্রটি দেখুন। পর্যবেক্ষণ দ্বারা, এটি মোটামুটি একই দেখাচ্ছে, সংরক্ষিত / এসিপিআই রেঞ্জগুলি অ্যাডারের জায়গাতে কম থাকে (এর মধ্যে কয়েকটি)।
জোনাথন রাইনহার্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.