ใช้ Linux 64 บิตพร้อม RAM 750 MB: คุ้มค่าใช่ไหม


13

ฉันมีเซิร์ฟเวอร์ Debian VPS และผู้ให้บริการติดตั้ง 64- บิต Debian 5 ฉันควรขอติดตั้ง 32 บิตหรือไม่เนื่องจากฉันมี RAM 750 MB เท่านั้นและฉันได้ยินว่าตัวแปรใช้ RAM เพิ่มในระบบ 64 บิตหรือไม่


2
ขึ้นอยู่กับสิ่งที่คุณกำลังจะวิ่งจริง ๆ ลองโหลดของคุณบ้างและตรวจสอบว่า RAM ของคุณเพียงพอหรือไม่
Renan

ไม่ทำงาน: Postgres, Apache และ Tomcat
Jhonnytunes

1
หมายเหตุ: หากคุณตัดสินใจที่จะอัพเกรดเป็น RAM เพิ่มเติมในภายหลัง 32- บิตอาจมีปัญหา (มี PAE สำหรับการกระโดดข้ามเสาเกินขีด จำกัด 4GB แต่มีค่าใช้จ่ายอยู่บ้าง)
Piskvor ออกจากอาคาร

โฮสต์ VPS ทั้งสองที่ฉันเคยใช้ติดตั้งเคอร์เนลแบบกำหนดเองสำหรับไฮเปอร์ไวเซอร์ของพวกเขาดังนั้นโอกาสที่คุณจะต้องยึดติดกับระบบปฏิบัติการเวอร์ชันของพวกเขา - หากพวกเขาไม่มี 32- บิตฉันสงสัยว่าคุณสามารถติดตั้งเองได้
รูปี

คำตอบ:


16

คำตอบสั้น ๆ :

ตัวแปรไม่ได้เพิ่มพื้นที่เป็นสองเท่าในซอฟต์แวร์ 64 บิตและ 32 บิต หน่วยความจำที่ได้รับจากการเปลี่ยนมาใช้ระบบปฏิบัติการ 32 บิตจะไม่คุ้มค่ากับความพยายาม

คำตอบที่ยาว :

ตัวเลขอาจใหญ่กว่าใช่ แต่นั่นไม่ได้หมายความว่าจะเป็น นอกจากนี้ยังใช้กับตัวเลขไม่ใช่สตริงและสตริง (โดยทั่วไป) คือสิ่งที่ใช้หน่วยความจำมากที่สุดในแอปพลิเคชัน

นอกจากนี้แอปพลิเคชันจำนวนมากระบุขนาดของหมายเลขที่พวกเขาต้องการทำงานอย่างชัดเจนเช่นในภาษาอย่าง C intสามารถมีขนาดใดก็ได้รวมถึงขนาดเล็กกว่า 32 บิต และยิ่งไปกว่านั้นบนเครื่อง Linux 64 บิตของฉันใน C intคือ 32 บิต ดังนั้นคุณจะต้องขออย่างชัดเจนlong longเพื่อรับหมายเลข 64- บิต

ดังนั้นโดยทั่วไปแอปพลิเคชั่นจะไม่ใช้หน่วยความจำเพิ่มขึ้นเพียงเพราะถูกคอมไพล์เป็น 64 บิต

แก้ไข : ตาม
คำตอบของ Gilles ที่อ้างว่า Firefox 64 บิตใช้หน่วยความจำมากเป็นสองเท่าฉันไปและทำการเปรียบเทียบระหว่าง Firefox แบบ 32 บิตและ 64 บิตในระบบของฉัน
ฉันทดสอบโดยเปิดแท็บ 5 แท็บที่เปิดไปยังhttp://acid3.acidtests.org/และทำการทดสอบ 3 ครั้ง (หนึ่งครั้งใน 32 บิตหนึ่งครั้งใน 64 บิตแล้วทำซ้ำสองครั้ง) ฉันเลือกไซต์นี้เพราะมันใช้ JavaScript มากและใช้เนื้อหาแบบสแตติก (การแสดงผลแต่ละหน้าจะให้ข้อมูลเดียวกัน)

ในการวิ่งรอบสุดท้าย:

  • 32 บิต: 173,244kb rss / 918,348kb virt

  • 64 บิต: 184,588kb rss / 966,624kb virt

ฉันสามารถทำการทดสอบอย่างกว้างขวางมากขึ้นใช่ แต่ฉันคิดว่านี่แสดงให้เห็นได้ดีพอว่าความแตกต่างระหว่างขนาดทั้งสองนั้นเล็กน้อย


1
นี่คือการพูดเกินจริงอย่างไม่มีการลด บางโปรแกรมใช้หน่วยความจำได้มากเป็นสองเท่าในโหมด 64 บิตขึ้นอยู่กับชนิดของข้อมูลที่จัดการ ฉันสังเกตเห็นว่า Firefox และ Chrome ใช้หน่วยความจำมากกว่าสองเท่า (ฉันไม่เคยตรวจสอบสาเหตุ: ขนาดรหัส?) สำหรับ Apache การใช้หน่วยความจำเพิ่มเติมมีขนาดเล็ก (แต่ฉันไม่ได้วัด)
Gilles 'หยุดความชั่วร้าย' ใน

@giles แทบจะไม่ ฉันเพิ่งเปิดตัว firefox 32- บิตและ 64- บิต 32 บิตใช้ 133,340kb หลังจากเปิดตัว 64- บิตใช้ 133,412kb หลังจากเปิดตัว
Patrick

มันอาจได้รับการปรับปรุงเมื่อเร็ว ๆ นี้ฉันคิดว่าฉันได้ตรวจสอบกับ Firefox 4 ครั้งล่าสุดฉันวัดโดยใช้ระบบที่ไม่ได้ใช้งาน (ใช้งานโปรแกรม 64 บิตเกือบเกือบทั้งหมด และการเปรียบเทียบจำนวนหน่วยความจำว่างหลังจากโหลดแท็บบางตัว (บาง JS, ไม่มี Flash): ฉันพบว่า (free_memory_with_ff_64 - free_memory_without_ff)> 2 * (free_memory_with_ff_32 - free_memory_without_ff)
Gilles 'หยุดความชั่วร้าย' ใน

4
@Gilles ฉันคิดว่ามีข้อบกพร่องในการทดสอบ แม้ว่า firefox จะเก็บข้อมูลทุกบิตสุดท้ายเป็นจำนวนเต็ม (ไม่มีสตริงซึ่งจะไม่เปลี่ยนขนาด) และจำนวนเต็มเดียวทุกอันเปลี่ยนจาก 32 บิตเป็น 64 บิตขนาดจะใหญ่เป็นสองเท่า ไม่มีคำอธิบายให้มากกว่าสองเท่า
แพทริค

2
"ตัวเลขอาจใหญ่กว่าใช่ แต่นั่นไม่ได้หมายความว่าจะเป็น" - แต่พอยน์เตอร์ทั้งหมดตอนนี้จะเป็น 64- บิตซึ่งเคยเป็น 32
Rupee

5

ฉันเลือกการติดตั้งแบบ 32 บิตมากกว่า 64 บิตสำหรับระบบที่มี RAM น้อยกว่า 4gig

64- บิตใช้หน่วยความจำมากขึ้นเนื่องจากลักษณะของพอยน์เตอร์ของมันช่วงนี้อยู่ระหว่างประมาณ 10 ถึง 50 เมกะไบต์พิเศษสำหรับการติดตั้งโคมไฟวานิลลา

บนระบบที่มี ram จำกัด ตัวอย่างเช่น 256meg นี่อาจเป็นก้อนขนาดใหญ่

ในทางเทคนิคด้วย PAE จะใช้งานได้มากถึง 64gig อย่างไรก็ตามพื้นที่ที่สามารถกำหนดแอดเดรสสำหรับแอปพลิเคชันยังคง จำกัด อยู่ที่ 4 กรัมในทุกกรณี ดังนั้นด้วยสิ่งใดก็ตามที่มากกว่า 4gig ขอแนะนำให้ใช้ 64- บิตเพื่อใช้ประโยชน์จากประสิทธิภาพที่เพิ่มขึ้นไม่น้อยไปกว่าที่เกี่ยวข้องกับค่าใช้จ่ายของ PAE

โดยสรุป: <4gig = 32 บิต | > 4gig = 64 บิต


3

หากผู้ให้บริการติดตั้ง 64- บิต Debian 5 ฉันขอแนะนำให้คุณใช้เวอร์ชันนี้

ความแตกต่างระหว่าง 64 บิตและ 32 บิตไม่เพียง แต่ในตัวจัดการหน่วยความจำเท่านั้น


2

ยกเว้นสำหรับแอปพลิเคชั่นที่ใช้ตัวเลขจำนวนน้อยที่ทำงานได้เร็วขึ้นประโยชน์เพียงอย่างเดียวของระบบ 64 บิตคือคุณสามารถจัดการหน่วยความจำได้มากกว่า 4GB เนื่องจากพื้นที่ที่อยู่บางส่วนถูกสงวนไว้ในเคอร์เนลกระบวนการจึงได้รับพื้นที่ที่อยู่ประมาณ 2GB หรือ 3GB เท่านั้น (หรือมากกว่าหรือน้อยกว่าทั้งนี้ขึ้นอยู่กับการกำหนดค่าเคอร์เนล) สำหรับกรณีที่ใช้ฐานข้อมูลและเว็บเซิร์ฟเวอร์คุณไม่ได้วางแผนที่จะแลกเปลี่ยนมากนักและคุณจะไม่ต้องทำตัวเลขจำนวนมาก ดังนั้นด้วย RAM เพียง 750MB คุณจะไม่เห็นประโยชน์ใด ๆ จากการใช้ระบบ 64 บิต

ขนาดของรหัสนั้นใกล้เคียงกันระหว่างโค้ด i386 (32 บิต) และ amd64 (64 บิต) หน่วยความจำข้อมูลที่ใช้โดยโปรแกรม 64 บิตค่อนข้างใหญ่กว่า ขนาดใหญ่ขึ้นอยู่กับแอปพลิเคชัน ฉันคาดหวังว่าจะเห็นสิ่งที่เห็นได้ชัดเจน แต่ไม่แตกต่างกันมากสำหรับกรณีการใช้งานของคุณ

เนื่องจากมีค่าใช้จ่ายเล็กน้อยและไม่มีประโยชน์ในการใช้ 64 บิตฉันขอแนะนำให้คุณใช้ระบบ 32 บิตหากไม่ได้รับปัญหามากเกินไป

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.