ฉันมี MacBook Pro (5,1) ที่มีหน่วยความจำ 4GB ใช้ 10A432 - แต่มันใช้เคอร์เนล 32 บิต
ความคิดใด ๆ ที่ทำไมมันไม่ทำงานในโหมด 64 บิตและฉันจะทำให้มันเป็นเช่นนั้นได้อย่างไร
ฉันมี MacBook Pro (5,1) ที่มีหน่วยความจำ 4GB ใช้ 10A432 - แต่มันใช้เคอร์เนล 32 บิต
ความคิดใด ๆ ที่ทำไมมันไม่ทำงานในโหมด 64 บิตและฉันจะทำให้มันเป็นเช่นนั้นได้อย่างไร
คำตอบ:
ในการทบทวนจอน Siracusa ของเสือดาวหิมะที่เขากล่าวถึงการเปลี่ยนแปลง 64 บิต
รุ่นสั้น: เพราะไม่มี 'โหมดผสม' 64 บิตเคอร์เนลต้อง 64 บิตเคอร์เนลส่วนขยายและไดร์เวอร์
แอปเปิลเลือกที่จะใช้ค่าเริ่มต้นเป็น 32 บิตเพื่อหลีกเลี่ยงการทำสิ่งต่างๆมากมาย
คำแนะนำจากบทความ:
สำหรับ Mac ที่ใช้ K64 ได้ทั้งหมดให้บู๊ตในขณะที่กดปุ่ม "6" และ "4" ค้างไว้พร้อมกันเพื่อเลือกเคอร์เนล 64- บิต สำหรับวิธีแก้ปัญหาที่ถาวรมากขึ้นให้ใช้คำสั่ง nvram เพื่อเพิ่มลง
arch=x86_64
ในboot-args
สตริงของคุณหรือแก้ไขไฟล์/Library/Preferences/SystemConfiguration/com.apple.Boot.plist
และเพิ่มลงarch=x86_64
ในสตริง Kernel Flags:
...
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>arch=x86_64</string>
...
ในการสลับกลับไปเป็นเคอร์เนล 32 บิตให้กดปุ่ม "3" และ "2" ค้างไว้ในระหว่างบู๊ตหรือใช้หนึ่งในเทคนิคข้างต้นโดยแทนที่ "x86_64" ด้วย "i386"
การใช้เคอร์เนล 64 บิตใน Snow Leopard นั้นมีประโยชน์ไม่มากนักซึ่งแตกต่างจากระบบปฏิบัติการส่วนใหญ่ ใน Windows และ Linux คุณต้องใช้เคอร์เนล 64 บิตเพื่อเรียกใช้แอปพลิเคชัน 64 บิต บน OS X คุณสามารถเรียกใช้แอปพลิเคชัน 64 บิตด้วยเคอร์เนล 32 บิต
คนส่วนใหญ่ดูเหมือนจะกังวลว่าการใช้เคอร์เนลแบบ 32 บิตใน OS X จะ จำกัด ประสิทธิภาพหรือขีดความสามารถของเครื่อง แต่ในทางปฏิบัติสิ่งนี้ไม่ได้ส่งผลกระทบต่อวัสดุอย่างมีนัยสำคัญ เคอร์เนล 32 บิตสนับสนุนการเรียกใช้แอปพลิเคชัน 64 บิตและแอปเหล่านั้นมีพื้นที่ที่อยู่ 64- บิตเสมือนที่แมปไปยังพื้นที่ที่อยู่ PAE 36- บิตโดยเคอร์เนล บิตเคอร์เนลเพียงแค่มีการใช้หน่วยความจำที่ จำกัด มากขึ้นและ I / O ที่แมปหน่วยความจำกับช่วงที่ใช้งานได้ วิธีที่ Apple จัดการกับพื้นที่ที่อยู่นี้ในเคอร์เนลแบบ 32 บิตทำให้เกิดข้อ จำกัด 32 GB สำหรับหน่วยความจำฟิสิคัลแบ่งขีด จำกัด 4 GB 32- บิตด้วย PAE ประสิทธิภาพที่ชาญฉลาดมีประโยชน์ไม่มากหากมีสิ่งที่สามารถวัดได้ด้วยการใช้เคอร์เนล 64 บิตพร้อมหน่วยความจำ 32 GB หรือน้อยกว่า ถ้าคุณต้องการ,6และ4ปุ่มเมื่อเริ่มต้น ฉันสงสัยว่าคุณจะเห็นและมีความแตกต่างอย่างมากในประสิทธิภาพ
ปัญหาอื่น ๆ คือความเข้ากันได้กับไดรเวอร์อุปกรณ์ส่วนขยายเคอร์เนลและเฟิร์มแวร์ของอุปกรณ์ สำหรับไดรเวอร์อุปกรณ์และส่วนขยายเคอร์เนลพวกเขาจำเป็นต้องจับคู่บิตเนสส์คอมไพล์ใหม่หรือเขียนใหม่ (โดยเฉพาะอย่างยิ่งหากมีแอสเซมบลีใด ๆ ส่วนใดที่พบได้ทั่วไปในรหัสประเภทเหล่านั้น) เดิมที EFI ของ Apple มาในรูปแบบ 32 บิตเท่านั้นและเมื่อเร็ว ๆ นี้บางรุ่นมีเฟิร์มแวร์ 64 บิต เพื่อให้ระบบปฏิบัติการพูดคุยกับเฟิร์มแวร์บิตของเคอร์เนลและ EFI ต้องตรงกัน สิ่งที่เกี่ยวข้องกับการพูดคุยกับ EFI เป็นสิ่งที่ต้องการเลือกดิสก์เริ่มต้นหรือตัวควบคุมการจัดการพลังงานบางอย่าง (เช่นถ้าคุณมีการติดตั้งมากกว่าหนึ่ง OS X และคุณต้องตื่นจากโหมดสลีปหลังจากแบตเตอรี่หมด)
ดังนั้นเคอร์เนล 64 บิตจะเป็นประโยชน์หรือไม่? ประสิทธิภาพไม่ฉลาดจริงๆและฉันเห็นภูมิปัญญากับ Apple โดยใช้เมล็ดแบบ 32 บิตสำหรับเครื่องส่วนใหญ่ที่ใช้ Snow Leopard เพื่อความเข้ากันได้ดีขึ้น
ตามสิ่งที่รั่วไหลไปยัง MacRumors (เนื่องจากเอกสารอย่างเป็นทางการอยู่ภายใต้ NDA) ( แหล่งที่มา ) เฉพาะคอมพิวเตอร์ต่อไปนี้ที่สนับสนุนการเรียกใช้เคอร์เนล 64 บิต:
เฉพาะ XServes ใช้เคอร์เนล 64 บิตโดยค่าเริ่มต้น
หากคุณเปิดคอมพิวเตอร์ค้างไว้6และ4ปุ่มคุณจะเริ่มต้นเคอร์เนล 64 บิตหรือตามแหล่งอื่นที่ทำลาย NDA ของพวกเขาคุณสามารถแก้ไข/Library/Preferences/SystemConfiguration/com.apple.Boot.plist
การเพิ่มการตั้งค่าเคอร์เนลหรือทำใน nvram
น่าเสียดายที่ลิงค์ที่สับสนของ Jason ซ่อนข้อมูลที่มีประโยชน์มาก ๆ ไว้:
ioreg -l -p IODeviceTree | grep firmware-abi
เครื่อง EFI 64 บิตจะรายงาน
| | "firmware-abi" = <"EFI64">
จนกว่า Snow Leopard จะวางจำหน่ายเราจะไม่ทราบว่าระบบใดจะสนับสนุนโหมด 64/32 บิต ... แต่สิ่งบ่งชี้ทั้งหมดคือ Snow Leopard จะโปร่งใสด้วยการรองรับเคอร์เนล ...
แต่น่าเสียดายที่ขออภัยที่เป็น "downer" หากคุณเป็นสมาชิก Appleseed ที่ลงทะเบียนแล้วฟอรัม Appleseed จะพูดถึงวิธีบังคับเคอร์เนลให้อยู่ในโหมด 64 บิต มิฉะนั้นหากคุณได้รับ Snow Leopard จากที่อื่นอย่ากังวลไปเลย
การปล่อยของ Snow Leopard นั้นอยู่ใกล้ ๆ ...
ไม่เป็นไรนี่คือเหตุผล:
32 บิต SL จะเรียกใช้แอป 64 บิต SL สามารถทำงานร่วมกันได้ 64 บิตโดยไม่คำนึงว่าเคอร์เนลเวอร์ชันใดที่คุณบูต
SL แม้ว่าการบู๊ตด้วยเคอร์เนล 32 บิตจะยังคงสามารถเรียกใช้แอพ 64 บิตและจัดการกับ RAM ได้มากกว่า 4GB
เหตุผลที่คุณต้องการเคอร์เนล 64 บิตคือถ้าเคอร์เนลต้องการที่อยู่มากกว่า 32 GB ของ RAM (ดังนั้นจึงเป็นค่าเริ่มต้นบน Xserve) หรือคุณมี 64 บิตเท่านั้น kext (นักพัฒนา)
เคอร์เนล 64 บิตไม่ทำให้คอมพิวเตอร์ของคุณเร็วขึ้นอย่างน่าอัศจรรย์ ยกเว้นว่าคุณต้องการ RAM มากกว่า 32 GB (IOW only Xserves ต่อไป) คุณไม่จำเป็นต้องใช้เหตุผลในการจัดการปัญหา
โดยการตั้งค่าเริ่มต้นที่ 32 บิตบนระบบผู้บริโภคและให้ผู้เชี่ยวชาญและนักพัฒนาตัวเลือกเคอร์เนล 64 บิต Apple รักษาความเข้ากันได้สูงสุดและความยืดหยุ่นสูงสุด
64 บิตเป็นตัวเลือกหลักสำหรับนักพัฒนา พวกเขาสามารถใช้มันเพื่อทดสอบไดรเวอร์ 64 บิตใหม่ / kexts เพื่อให้แน่ใจว่าพวกเขาทำงานกับเคอร์เนล 64 บิต
ถอดความและยกมาจากSnow Leopard โหลดเคอร์เนล 32- บิตโดยค่าเริ่มต้น