เป็นที่ทราบกันดีว่าระบบ 32 บิตสามารถรองรับ RAM ได้สูงสุด 4 GB เท่านั้น
ภายใต้ Linux ขีด จำกัด นี้ใช้กับการสลับพาร์ติชันหรือไม่ หาก RAM + swap ของฉันมีขนาดเกินกว่า 4 GB จะถูกใช้อย่างสมบูรณ์หรือไม่
หากคำตอบคือ "ไม่, มันใช้ไม่ได้กับการสลับ" ทำไม?
เป็นที่ทราบกันดีว่าระบบ 32 บิตสามารถรองรับ RAM ได้สูงสุด 4 GB เท่านั้น
ภายใต้ Linux ขีด จำกัด นี้ใช้กับการสลับพาร์ติชันหรือไม่ หาก RAM + swap ของฉันมีขนาดเกินกว่า 4 GB จะถูกใช้อย่างสมบูรณ์หรือไม่
หากคำตอบคือ "ไม่, มันใช้ไม่ได้กับการสลับ" ทำไม?
คำตอบ:
ไม่ Imagine RAM เป็นเหมือนโต๊ะทำงานของคุณและการสลับพื้นที่ / หน่วยความจำเสมือนเป็นเหมือนตู้เก็บเอกสาร คุณสามารถใส่ข้อมูลจำนวนมากลงในตู้เก็บเอกสารได้ แต่เข้าถึงได้ยาก เอกสารใด ๆ ที่คุณต้องการใช้คุณต้องดึงออกมาวางบนโต๊ะ ปัญหาคือโต๊ะทำงานสามารถถือเอกสารจำนวนมากได้ในครั้งเดียวเท่านั้น
เครื่อง 32 บิตสามารถมีโต๊ะที่มีขนาดใหญ่เพียง 4GB (2 ^ 32 หรือประมาณ 4 พันล้านไบต์) แต่พวกเขายังคงมีตู้เก็บเอกสารได้เกือบไม่ จำกัด พวกเขาเพียงแค่ต้อง "สลับ" เอกสารเมื่อโต๊ะเต็มและพวกเขาต้องดูหน้าอื่นที่อยู่ในตู้เก็บเอกสาร
เหตุผลที่มันใช้ไม่ได้กับการสลับเป็นเพราะการเข้าถึงเนื้อหาของ RAM หรือรันโค้ดจากนั้นถูก จำกัด ขนาดของตัวเลขที่มันสามารถทำงานได้ ลองคิดดูสิว่าคุณสามารถมีคำศัพท์ได้เพียง 4 พันล้านคำบนโต๊ะเพราะมันสูงที่สุดเท่าที่จะนับได้และคุณต้องทำงานด้วยคำพูดโดยตรง "Word 3,547 ถูกสะกดผิดเปลี่ยนคำ 3,452,780 เป็น 'Hello' ลบคำ 6"
ตอนนี้แต่ละหน้าอาจมี 4,000 คำ สิ่งที่ดักจับคือเมื่อคุณอ้างถึงพื้นที่สว็อปคุณไม่ได้อ้างอิงทีละหน้าเท่านั้น ดังนั้นคุณสามารถนับได้แค่ 4 พันล้านเท่านั้น แต่คุณสามารถนับได้ถึง 4 พันล้านหน้า 4 พันล้านหน้ามีคำพูด16 ล้านล้าน - สูงกว่าที่คุณนับได้มาก
เครื่อง 64 บิตสามารถนับได้สูงกว่าดังนั้นพวกเขาจึงสามารถวางหน้าทั้งหมดไว้บนโต๊ะได้ทันทีหากมีโต๊ะขนาดใหญ่พอ แม้ว่าคุณจะวางโต๊ะขนาดใหญ่พิเศษไว้ในเครื่อง 32 บิตคุณก็ยังสามารถนับได้ถึง 4 พันล้านเท่านั้นดังนั้นคุณจึงไม่มีทางที่จะอ้างอิงคำศัพท์พิเศษทั้งหมดบนโต๊ะ
คุณกำลังสับสนหน่วยความจำกายภาพและเสมือนจริง
RAM คือหน่วยความจำกายภาพ พื้นที่สว็อปสามารถมีพื้นที่ที่อยู่เสมือน 4GB จำนวนมาก