ฉันมี RAM 16GB ฉันจำเป็นต้องมีการแลกเปลี่ยน 32GB หรือไม่


277

ฉันอ่านหลาย ๆ ที่กฎของหัวแม่มือสำหรับพื้นที่แลกเปลี่ยนคือการเพิ่มจำนวนแรมทางกายภาพ อย่างไรก็ตาม 32 GB ดูเหมือนจะมาก ฉันต้องการมากขนาดนั้นหรือไม่? ฉันต้องการมันด้วย RAM จริงหรือไม่?


82
เพื่อที่จะซื่อสัตย์อย่างสมบูรณ์ที่นี่ ... คุณไม่จำเป็นต้องใช้ SWAP คุณมี RAM 16GB อยู่แล้วเว้นแต่ว่าคุณคิดว่าคุณจะใช้ RAM หมดคุณไม่ต้องการมัน
— Uri Herrera

57
"กฎของหัวแม่มือ" นั้นเกิดขึ้นในแต่ละครั้งที่พีซีส่วนใหญ่มี RAM ในหน่วยเมกะไบต์ มันไม่ได้มีความหมายมานานกว่า 10 ปี แต่เพียง ... จะไม่ ... ตาย!
— Nicholas Knight

17
@TheX: บางทีในบางปีเมื่อมีคนเห็นความคิดเห็นของคุณพวกเขาจะหัวเราะ :)
— เบอนัวต์

1
แม้ว่า 2 คำถามที่มีความคล้ายคลึงหนึ่งที่อื่น ๆ ที่มีการกล่าวถึงการจำศีลไม่ ...
— Ashu

1
จริง ๆ แล้วฉันก็รู้ว่ามันไม่แย่เท่าไหร่มันคือ swap = RAM มากกว่า swap = 2 x RAM
— icc97

คำตอบ:


189

ทั้งหมดขึ้นอยู่กับสิ่งที่คุณวางแผนจะทำกับเครื่อง ตัวอย่างเช่นถ้ามันเป็นเซิร์ฟเวอร์ Sap แล้วใช่ฉันจะเพิ่มการแลกเปลี่ยน 32gb (เรามีกล่องที่ทำงานกับ 128gb ram และ 32gb swap) หากคุณกำลังจัดการกับภาพและวิดีโอขนาดใหญ่คุณควรมีการสลับเล็กน้อย 32gb น่าจะเป็น overkill

อย่างไรก็ตามฉันจะไม่บอกว่าศูนย์แลกเปลี่ยน

ในเหตุการณ์ที่ไม่น่าเป็นไปได้ที่คุณไม่มี RAM - อาจเปิดไฟล์ขนาดใหญ่ perheps แท็บที่รันนานใน firefox มันไม่สำคัญว่าในกรณีนี้นักฆ่า OOM เคอร์เนลของคุณจะเริ่มเล่นและเริ่มฆ่าแอปพลิเคชันเพื่อเรียกคืนหน่วยความจำ ภายใต้สถานการณ์เหล่านั้นเป็นไปได้ทั้งหมดที่คุณจะสูญเสียข้อมูลเมื่อแอปพลิเคชันถูกฆ่า อย่างไรก็ตามหากคุณมีการแลกเปลี่ยนเล็กน้อยระบบจะดำเนินการต่อไปให้คว้าการแลกเปลี่ยนและอนุญาตให้ระบบดำเนินการต่อ ระบบช้าลงเมื่อเกิดการแลกเปลี่ยนอย่างหนักคุณจะสังเกตเห็นและตรวจสอบก่อนที่การแลกเปลี่ยนทั้งหมดจะหมดลง นอกจากนี้ดิสก์ราคาถูกมากแล้วทำไมไม่มี swap?

ใครก็ตามที่พูดว่า "คุณไม่จำเป็นต้องสลับ" โดยไม่ถามคุณว่าคุณทำอะไรกับคอมพิวเตอร์ของคุณจริงๆ ในขณะที่คุณอาจใช้คอมพิวเตอร์ของคุณกินแรมน้อยก็ควรถามคำถามเกี่ยวกับสิ่งที่คุณวางแผนจะทำก่อนตัดสินใจตัดสินผื่นที่คุณไม่จำเป็นต้องสลับ ในความเห็นต่ำต้อยของฉัน


16
คุณช่วยอธิบายเพิ่มเติมได้ไหมว่าทำไมถึงบอกว่าไม่มีการแลกเปลี่ยนเป็นศูนย์? คนอื่น ๆ ดูเหมือนจะยอมรับว่าไม่จำเป็นต้องใช้มันเว้นแต่ฉันต้องการที่จะจำศีล (ซึ่งฉันไม่ได้)
— Tamás Szelei

4
@popey - ถ้างั้นถ้าระบบหมด swap? กลับไปที่สี่เหลี่ยมจัตุรัสตรงนั้น
— CVn

11
การมีระบบที่มี RAM ขนาด 8 GB ฉันสามารถพูดได้ว่า: เมื่อใดก็ตามที่ฉันมีโปรแกรมวิ่งออกไปและเปลี่ยนเป็น swap ระบบของฉันจะไม่ตอบสนองเป็นส่วนใหญ่ จะดีกว่าถ้าปล่อยให้ OOM killer ทำงานมากกว่าต้องบังคับให้รีบูตไม่สะอาดอยู่ดี ถ้าคุณมีแรมมากขนาดนั้นเว้นแต่ว่าคุณทำงานหนักมากซึ่งต้องใช้ RAM กิกะไบต์คุณก็ไม่เป็นไร แม้ว่าคุณจะมีการยกของหนัก แต่ก็มีวิธีการประมวลผลที่ไม่ต้องการพื้นที่สว็อป (ซึ่งมีประสิทธิภาพน้อยกว่าการจัดการชุดข้อมูลขนาดใหญ่ที่มีสติในแอปพลิเคชัน)
— Michael Trausch

6
พื้นที่อาจมีราคาถูกใน HDDs แต่สำหรับ SSD นั้นแทบจะไม่ถูกเลย ไม่แพงเท่า DAM แต่ก็ยัง
— Mircea Chirea

4
หากระบบของคุณใช้การแลกเปลี่ยน 31GB และคุณต้องการ GB สุดท้ายพวกเขาอาจจะเงียบมาก IMHO หากคุณต้องการสลับมากกว่า 2GB อย่างต่อเนื่องคุณควรติดตั้ง RAM เพิ่มเติม
— Martin Schröder

249

นี่เป็นคำแนะนำที่ดีมากจาก RedHat: ระบบ Swap Space ที่แนะนำ

ข้อความที่ตัดตอนมาจากลิงค์เดียวกัน:

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

ตารางปัจจุบัน (ณ เดือนธันวาคม 2560):

Amount of RAM in the system   Recommended swap space         Recommended swap space 
                                                             if allowing for hibernation
---------------------------   ----------------------------   ---------------------------
2GB of RAM or less            2 times the amount of RAM      3 times the amount of RAM
2GB to 8GB of RAM             Equal to the amount of RAM     2 times the amount of RAM
8GB to 64GB of RAM            At least 4 GB                  1.5 times the amount of RAM
64GB of RAM or more           At least 4 GB                  Hibernation not recommended

ตารางต้นฉบับ:

Amount of RAM in the System     Recommended Amount of Swap Space
4GB of RAM or less              a minimum of 2GB of swap space
4GB to 16GB of RAM              a minimum of 4GB of swap space
16GB to 64GB of RAM             a minimum of 8GB of swap space
64GB to 256GB of RAM            a minimum of 16GB of swap space
256GB to 512GB of RAM           a minimum of 32GB of swap space 

76
สแควร์รูทของ RAM ในหน่วย GB, ปัดเศษเป็นกำลังสอง
— starblue

2
มีความไม่สอดคล้องกันในตาราง 'ใหม่' - ตามคู่มือ 16GB พื้นที่สว็อปนั้นเหมาะสำหรับระบบ 32GB แต่ 4GB เหมาะสำหรับระบบ 64GB ...
— Charlie

1
@ Charlie นั่นเป็นเพราะคุณไม่น่าจะใช้งานหน่วยความจำไม่
— เพียงพอ

@Charlie มันไม่ได้เกี่ยวกับปริมาณหน่วยความจำของระบบ แต่มันเกี่ยวกับความเป็นไปได้ที่หน่วยความจำระบบจะหมด
— Phill Healey

60

โอ๊ะ คำตอบในโพสต์นี้ผิดมากและนี่เป็นหนึ่งในผลลัพธ์แรกในการค้นหาโดย Google สำหรับ "การแลกเปลี่ยนเท่าไหร่"

ก่อนอื่นจุดอ้างอิงที่ดีคือUbuntu Swap FAQ

คำถามที่พบบ่อยนี้ทำให้ประเด็นสำคัญที่ไม่มีใครพูดถึงและนั่นคือ (เน้นที่เหมือง)

บางครั้งโปรแกรมขนาดใหญ่ (เช่น OpenOffice, Neverwinter Nights หรือโปรแกรมตัดต่อวิดีโอ) ทำให้ทั้งระบบต้องใช้หน่วยความจำเพิ่มเติม จำนวนหน้าที่มีขนาดใหญ่ที่ใช้โดยโปรแกรมขนาดใหญ่เหล่านี้ในระหว่างการเริ่มต้นสามารถใช้เพื่อเริ่มต้นเท่านั้นและไม่เคยใช้อีกครั้ง ระบบสามารถสลับออกหน้าเว็บเหล่านั้นและฟรีหน่วยความจำสำหรับโปรแกรมอื่น ๆ หรือแม้กระทั่งสำหรับแคชดิสก์ ในกรณีเหล่านี้จะใช้การสลับเพื่อช่วยให้ระบบจัดการกับโหลดพิเศษใด ๆ

ดังนั้นการแลกเปลี่ยนไม่ได้เป็นเพียงการจำศีล! กิจกรรมนี้การแลกเปลี่ยนเพจที่ไม่ได้ใช้อาจเป็นประโยชน์ในบางสถานการณ์และเป็นอันตรายต่อผู้อื่น มีประโยชน์เพราะสามารถเพิ่มหน่วยความจำสำหรับระบบเพื่อใช้ที่อื่น แต่เป็นอันตรายเมื่อการสลับนั้นก้าวร้าวเกินไปและสลับหน้าเว็บที่คุณต้องการจริงๆ นี่เป็นเรื่องจริงโดยเฉพาะอย่างยิ่งบนระบบเดสก์ท็อปที่แอพพลิเคชั่นสามารถนั่งทำงานเป็นเวลานานได้ แต่ผู้ใช้ยังคงคาดหวังถึงประสิทธิภาพในทันทีเมื่อนำมันกลับมาใช้งานอีกครั้ง การควบคุมความก้าวร้าวนี้เรียกว่าความรวดเร็ว

คำถามที่พบบ่อยของการแลกเปลี่ยน Ubuntu พูดถึงสิ่งนี้ภายใต้swappiness คืออะไรและฉันจะเปลี่ยนได้อย่างไร ค่าเริ่มต้นในระบบ Ubuntu คือ 60 ในขณะที่คำถามที่พบบ่อยแนะนำค่า 10 สำหรับเครื่องเดสก์ท็อป

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


7
โหวตขึ้นเพื่อเชื่อมโยงไปยังคำถามที่พบบ่อยและสำหรับการแนะนำสติบางอย่างท่ามกลางความคิดเห็นและหลักฐานพอสมควร
— Marty Fried

1
ประเด็นคือไม่มีโปรแกรมขนาดใหญ่และลิงค์ของคุณพูดตรงข้ามกับสิ่งนี้ ดูhelp.ubuntu.com/community/SwapFaq#How_much_swap_do_I_need.3F
— Anwar

4
เพื่อบรรเทาความจำจากการโหลดเพิ่มฉันต้องการ zRAM และ swappiness = 60 แทนที่จะเป็น HDD แบบดั้งเดิม
— Barafu Albino

25

อาจจะไม่. หากคุณวางแผนที่จะจำศีลในคอมพิวเตอร์ของคุณ (suspend-to-disk) คุณจะต้องมีอย่างน้อย 16 GB หากคุณไม่จำศีลก็พอที่จะให้สลับสองสามกิกะไบต์ (4-8 สูงสุด)


2
ฉันไม่มีการแลกเปลี่ยนเลยและสามารถไฮเบอร์เนต / ระงับแล็ปท็อปของฉันได้
— scribu

8
@ Subsu นี้ฟังดูน่าสนใจ ฉันสงสัยว่าอาจมีไฟล์ swap อยู่ที่ไหนสักแห่งเพราะสำหรับการปิดแล็ปท็อปของคุณ (เช่นถอดปลั๊กและถอดแบตเตอรี่ออก) เนื้อหาของ RAM จะต้องได้รับการบันทึกไว้
— bandi

9
เป็นไปได้ค่อนข้างที่จะจำศีลด้วย ram ขนาด 16GB และ swap ขนาด 4GB: คุณแค่ต้องใช้น้อยกว่า 4gb เมื่อคุณไปที่โหมดไฮเบอร์เนต
— psusi

@psusi Linux จะพยายามบีบอัดหน่วยความจำ Swap น้อย = การบีบอัดที่ดุดันมากขึ้น
— วาล

16

จากประสบการณ์ฉันสามารถพูดสิ่งนี้:

สำหรับสิ่งที่ฉันได้เห็นโดยใช้ RAM 4GB เป็นเวลา 3 ปี Ubuntu มีการใช้งาน swap ประมาณ 60MB แต่เมื่อทำงานหนักมากเท่านั้น สองสามสัปดาห์ที่ผ่านมาฉันเริ่มใช้พีซีที่มี RAM 16GB และการใช้งาน swap อยู่ที่ 0% ตลอดกาล ฉันได้คอมไพล์หลายครั้งการแสดงผลวิดีโอและงานอื่น ๆ ที่เข้มข้น ไม่เคยมีการเปลี่ยนแปลงในการแลกเปลี่ยน ไม่แม้แต่การเปลี่ยนแปลง 1KB

โดยทั่วไปใน Ubuntu คุณจะมี RAM หน่วยความจำมากเท่าไรโอกาสที่คุณจะใช้หรือต้องการสลับเพื่อทำงานก็จะน้อยลง RAM 16GB หรือแม้แต่ RAM 8GB ก็มากเกินพอ ฉันได้ทำกับพีซี 16GB VirtualBox 8 พีซี (แต่ละหน่วยความจำระหว่าง 1GB ถึง 2GB) ฉันได้รวบรวมและแสดงผลวิดีโอความละเอียด 720p และไม่แม้แต่ในสภาพที่มีการสลับเปลี่ยน

ด้วยที่กล่าวว่ากฎของ RAM หน่วยความจำมากเป็นสองเท่าไม่ควรใช้กับระบบที่ใช้ Linux มากยิ่งขึ้นดังนั้นถ้าคุณมีหน่วยความจำมาก อย่างไรก็ตามคุณควรมีขนาดของการแลกเปลี่ยนที่เท่ากันเท่ากับขนาดหน่วยความจำของคุณหรือถ้าคุณวางแผนที่จะจำศีลเนื่องจากกระบวนการของการจำศีลคว้าทุกอย่างในหน่วยความจำแล้ววางไว้ในส่วนของการสับเปลี่ยน สำหรับการแลกเปลี่ยน

รายละเอียดอื่น ๆ คือแอพบางตัว (ไม่ใช่ทั้งหมด) จะยังคงบังคับให้อ่านจากการสลับ ดังนั้นการมีเพียงเล็กน้อยก็ดี การปิดการใช้งานโดยรวมนั้นแย่มากในกรณีที่คุณไปถึงหน่วยความจำไม่เพียงพอหรือ OOM ณ จุดนี้หากคุณไม่มี swap ไม่มีวิธีที่เคอร์เนลสามารถสลับการเข้า / ออก ram แอพที่แตกต่างกันและในที่สุดจะเริ่มฆ่าอันที่ใช้น้อยกว่า

หากมันช่วยในการตัดสินใจบนเดสก์ท็อปที่บ้านหลังจากอัปเดตคำตอบนี้ในเวลานานกว่า 4 ปีฉันได้ใช้ 16gb, 32gb และตอนนี้เป็น 64gb ram PC การทดสอบด้วยการสลับเพียง 128MB พบว่าฉันไม่จำเป็นต้องสลับขนาดใหญ่ยกเว้นว่าฉันต้องการไฮเบอร์เนต ฉันได้ใช้สภาพแวดล้อมคลาวด์กับพวกเขา, lxc, virtualbox, ไวน์, คุณตั้งชื่อมัน ฉันแสดงวิดีโอด้วย openshot, kazam, handbrake, audacity ฉันใช้ gimp, blender, Inkscape และแม้แต่ชุด LibreOffice แบบเต็ม ฉันยังเล่นด้วยไอน้ำและไม่มีการใช้การแลกเปลี่ยนในสถานการณ์เหล่านั้น แน่นอนว่ามันจะใช้งานได้ในที่สุดหากคุณใช้ ram เต็มจำนวนไม่ทางใดก็ทางหนึ่ง แต่โดยทั่วไปแล้วคุณจะมี ram เพิ่มขึ้นเท่าไหร่คุณก็จะต้องแลกน้อยลง

แค่ 2 เซ็นต์ของฉัน


1
ผู้ชายฉันชอบวิธีที่คุณอธิบายและสัมผัสกับมัน ... นี่คือคำตอบที่น่าอัศจรรย์
— aidonsnous

9

ไม่คุณไม่จำเป็นต้องใช้ 32 GB ตราบใดที่คุณไม่ได้ใช้ฟีเจอร์ต่าง ๆ เช่น suspend to disk


6

ในกรณีส่วนใหญ่ฉันจะบอกว่าคุณไม่ต้องการอะไรเลย บางทีถ้าคุณแก้ไขไฟล์ภาพที่มีขนาดใหญ่มากหรือแอพอื่น ๆ ที่ต้องการ RAM จำนวนมากคุณอาจต้องการบางอย่าง

ฉันไม่เคยเห็นใช้ใด ๆ เลยในระบบของฉันคล้ายกับของคุณ ในความเป็นจริงในครั้งเดียวฉันถูกปิดใช้งานเป็นเวลาหนึ่งหรือสองสัปดาห์โดยไม่ตั้งใจและไม่เคยสังเกตเห็นปัญหาใด ๆ แต่ฉันยังคงเก็บไดรฟ์ swap ไว้ที่ 5GB ส่วนใหญ่เป็นเพราะฉันมีมากกว่า 1TB และไม่ใช้พื้นที่ทั้งหมดตามที่เป็นอยู่


ฉันจำได้ว่าเห็นมันใช้ครั้งเดียวเมื่อฉันใช้ Wubi และฉันจำศีล
— Vladashram

2
หากคุณใช้การไฮเบอร์เนตอาจเป็นเหตุผลที่ดีที่จะมีพื้นที่สว็อปเพียงพอเพื่อบันทึกสถานะของเครื่อง ฉันเดาว่าคุณจะไม่ต้องการหน่วยความจำมากกว่าจำนวนที่มีอยู่จนกว่าคุณจะใช้พื้นที่สว็อปเพียงพอแล้วในตอนนี้
— Marty Fried

3

ถ้า RAM ของคุณสูงกว่า 1GB ก็เพียงพอสำหรับ Ubuntu กฎ "Swap = RAM x2" สำหรับคอมพิวเตอร์เก่าที่มีขนาด 256 หรือ 128mb ของ ram

ดังนั้นการแลกเปลี่ยน 1 GB จึงเพียงพอสำหรับ RAM ขนาด 4GB 8 GB จะมากเกินไป


3

หากคุณใช้โหมดไฮเบอร์เนตจะปลอดภัยที่จะมีการแลกเปลี่ยนมากเท่ากับ RAM ของคุณ

สำหรับกฎทั่วไปเกี่ยวกับการแลกเปลี่ยนให้อ่านที่นี่:

https://help.ubuntu.com/community/SwapFaq

ในกรณีของคุณฉันจะบอกว่า 4 GB เพียงพอที่จะจับคู่ RAM ของคุณ


2

คุณจำเป็นต้องสลับถ้าคุณต้องการใช้ไฮเบอร์เนตสำหรับส่วนที่เหลือมันเป็นการสิ้นเปลืองพื้นที่บนฮาร์ดไดรฟ์ของคุณ


6
Hibernate ต้องการพื้นที่สว็อป แต่ไม่ใหญ่เท่ากับขนาด RAM เพียงใหญ่เท่ากับการใช้ RAM ในช่วงเวลาที่ไฮเบอร์เนต สลีปไม่จำเป็นต้องสลับใด ๆ เนื่องจาก RAM ยังคงใช้งานอยู่และเก็บข้อมูลไว้
— Donny Kurnia

@ Donny Kurnia ขอบคุณฉันไม่รู้เหมือนกัน แต่แล็ปท็อปของฉันชอบใช้ swap เมื่อเข้าสู่โหมดสลีป ฉันดูว่าฉันสามารถแก้ไขได้
— Rens

1
คุณสามารถทำการทดลองได้โดยปิดการใช้งานการสลับsudo swapoff -aแล้วปิดแล็ปท็อปของคุณ
— Donny Kurnia

@ ดอนนี่ Kurnia ฉันได้ทำไปแล้วและการนอนหลับก็ยังใช้งานได้
— Rens

2

หากคุณใช้การไฮเบอร์เนตการแลกเปลี่ยนของคุณควรมีจำนวนอย่างน้อยเท่ากับแรมจริงของคุณ


1

ฉันมีแล็ปท็อปที่มี RAM 4GB และ Ubuntu 16.04 หลังจากบู๊ตเครื่องจะใช้ RAM ประมาณ 1GB และถึงแม้ Inkscape (ตัวอย่าง) จะไม่ทำงาน (จอภาพของระบบแสดงมากกว่า 50% ของ RAM ฟรี) Inkscape ค้าง หลังจากที่ฉันใช้ไฟล์ swap มันจะทำงานตามที่คาดไว้แม้ว่าจะไม่มีการใช้ swap เดียว) Inkscape ทำงาน ดังนั้นฉันขอแนะนำพาร์ติชันการแลกเปลี่ยน (หรือสลับไฟล์) ขนาดของมันคุณสามารถใช้กฎ david6


1

จากSwapFaqของ Ubuntu :

ทำไมฉันถึงต้องสลับ?

โปรแกรมที่ใช้หน่วยความจำบางครั้งโปรแกรมขนาดใหญ่ (เช่น LibreOffice, Neverwinter Nights หรือโปรแกรมตัดต่อวิดีโอ) ทำให้ทั้งระบบต้องใช้หน่วยความจำเพิ่มเติม จำนวนหน้าที่มีขนาดใหญ่ที่ใช้โดยโปรแกรมขนาดใหญ่เหล่านี้ในระหว่างการเริ่มต้นสามารถใช้เพื่อเริ่มต้นเท่านั้นและไม่เคยใช้อีกครั้ง ระบบสามารถสลับหน้าเหล่านั้นออกและเพิ่มหน่วยความจำสำหรับโปรแกรมอื่น ๆ หรือแม้แต่ดิสก์แคช ในกรณีเหล่านี้จะใช้การสลับเพื่อช่วยให้ระบบจัดการกับโหลดพิเศษใด ๆ

การไฮเบอร์เนต (Suspend-to-disk)คุณลักษณะการไฮเบอร์เนต (Suspend-to-disk) เขียนเนื้อหาของ RAM ไปยังพาร์ติชัน swap ก่อนที่จะปิดเครื่อง ดังนั้นพาร์ติชั่นสว็อปของคุณควรใหญ่อย่างน้อยเท่ากับขนาดแรมของคุณ การดำเนินการจำศีลในปัจจุบันที่ใช้ในอูบุนตู, swsusp, ต้องการสลับหรือหยุดพาร์ติชัน ไม่สามารถใช้ไฟล์ swap ในระบบไฟล์ที่ใช้งานอยู่

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

การใช้หน่วยความจำให้เกิดประโยชน์สูงสุดเนื่องจากฮาร์ดไดรฟ์เชิงกลช้ากว่า RAM (SSD - Solid State Drive) - การจัดเก็บไม่ช้าเท่ากับฮาร์ดไดรฟ์ แต่ยังช้ากว่า RAM) เมื่อคุณต้องการไฟล์ (ไม่ว่าจะเป็นไฟล์ข้อมูลเช่นวิดีโอ executables เช่น Firefox หรือไลบรารี) เคอร์เนล Linux จะอ่านไฟล์ใน RAM และเก็บไว้ที่นั่นเพื่อที่ครั้งต่อไปที่คุณต้องการมันอยู่ใน RAM และการเข้าถึงข้อมูลนั้นเร็วกว่ามาก ส่วนของ RAM ที่เร่งการอ่านดิสก์เรียกว่า "หน่วยความจำแคช" คุณจะสังเกตเห็นว่าพวกเขาสร้างความแตกต่างอย่างมากในแง่ของการตอบสนอง เคอร์เนล Linux จะย้าย RAM ที่จองไว้โดยโปรแกรมโดยอัตโนมัติ - แต่ไม่ได้ใช้จริง ๆ - ลงใน swap เพื่อให้สามารถใช้งานได้ดีขึ้นในการขยายหน่วยความจำแคช

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

ฉันต้องการสว็อปเท่าไร

สำหรับหน่วยความจำกายภาพ (RAM) น้อยกว่า 1GB ขอแนะนำอย่างยิ่งว่าพื้นที่สว็อปควรเป็นขั้นต่ำพื้นฐานเท่ากับจำนวนแรม นอกจากนี้ขอแนะนำให้พื้นที่สว็อปมีค่าสูงสุดเป็นสองเท่าของจำนวน RAM ขึ้นอยู่กับจำนวนพื้นที่ว่างในฮาร์ดดิสก์ที่มีอยู่สำหรับระบบเนื่องจากการคืนค่าที่ลดลง

สำหรับระบบที่ทันสมัยกว่า (> 1GB) พื้นที่สว็อปของคุณควรมีอย่างน้อยเท่ากับขนาดหน่วยความจำกายภาพ (RAM) ขนาด "ถ้าคุณใช้โหมดไฮเบอร์เนต" ไม่เช่นนั้นคุณต้องมีรอบอย่างน้อย (sqrt (RAM)) และสูงสุด ของสองเท่าของจำนวน RAM ข้อเสียเพียงอย่างเดียวของการมีพื้นที่สว็อปมากกว่าที่คุณจะใช้จริง ๆ คือพื้นที่ดิสก์ที่คุณจะสำรองไว้

"ผลตอบแทนที่ลดลง" หมายความว่าหากคุณต้องการพื้นที่สว็อปมากกว่าขนาด RAM สองเท่าคุณควรเพิ่ม RAM มากขึ้นเนื่องจากการเข้าถึงฮาร์ดดิสก์ไดรฟ์ (HDD) นั้นช้ากว่าการเข้าถึง RAM ประมาณ 10 access ดังนั้นสิ่งที่ต้องใช้เวลา 1 วินาที ทันใดนั้นใช้เวลามากกว่า 15 นาที! และอีกหนึ่งนาทีบนโซลิดสเตตไดรฟ์ที่รวดเร็ว (SSD) ...

ตัวอย่างสถานการณ์

    RAM(GB) No hibernation  With Hibernation  Maximum
      1      1                2                   2
      2      1                3                   4
      3      2                5                   6
      4      2                6                   8
      5      2                7                  10
      6      2                8                  12
      8      3               11                  16
     12      3               15                  24
     16      4               20                  32
     24      5               29                  48
     32      6               38                  64
     64      8               72                 128
    128     11              139                 256

คาดเดาว่าSwapFaq มาจากไหน ;-) +1
— Fabby

0

ฉันคิดว่าคุณเข้าใจแล้ว คำแนะนำ SWAPคุณจะต้อง ~ 16GB ดังนั้น SWAP ควรเป็น 1/2 ของขนาด RAM จริง แต่ก็ยังมีพื้นที่เยอะ ขึ้นอยู่กับสิ่งที่คุณต้องการ ฉันจะบอกว่าถ้าคุณไม่ใช้ "hibernate" ให้เก็บประมาณ ~ 4GB ถึง ~ 8GB ถ้าคุณสามารถจ่ายพื้นที่ดิสก์ได้ เนื่องจากคุณมี 16GB ฉันคิดว่าคุณอาจใช้คอมพิวเตอร์ที่ต้องการทรัพยากรที่มีประสิทธิภาพ ... ดังนั้นมันอาจจะเป็นประโยชน์ถ้ามี 16GB ถึง 32GB SWAP เช่นกัน

ฉันมี 2GB RAM และ 1GB SWAP ฉันทำได้ดีมากกับมัน แต่นั่นเป็นเพียงความคิดเห็นของฉัน ดูความคิดเห็น / ข้อเสนอแนะอื่น ๆ และดูสิ่งที่พวกเขาพูด


0

ฉันไม่สามารถหาการอ้างอิงเพื่ออ้างถึงที่นี่ แต่ถ้าคุณจะใช้แอปพลิเคชันที่คุณต้องการแลกเปลี่ยนข้อมูลทั้งหมดใน RAM คุณจะต้องมี 'RAM ขนาด + 128 MB' หรือ '1.25 เท่าของขนาด RAM' (i ลืมว่าอันไหนถูกต้อง) สมมติว่าคุณมี RAM มากกว่า 2 GB หาก RAM น้อยกว่า 2GB แนะนำให้มีขนาด RAM สองเท่าเป็น swap.I ทำตามคำแนะนำนี้ในองค์กรของฉันก่อนหน้านี้สำหรับ IBM AIX ตามเอกสารจาก IBM ฉันเชื่อว่านี่เป็นจริงสำหรับส่วนใหญ่ของ * ระวังเนื่องจากการใช้ swap คือการย้ายข้อมูลจาก RAM อย่างปลอดภัยในกรณีที่ RAM ไม่เพียงพอที่จะจัดการข้อมูลที่จะโหลดในหน่วยความจำ คำสั่ง 'ฟรี' สามารถใช้เพื่อประเมินว่ามีการใช้การแลกเปลี่ยนมากแค่ไหนในความเป็นจริง


0

ฉันมีแล็ปท็อป Mac ที่ฉันทิ้งไว้หลายเดือน แม้ว่าจะดีกว่า Windows แต่หน่วยความจำก็คืบคลานโดยเฉพาะอย่างยิ่งกับเบราว์เซอร์ของคุณหากคุณรักษามันไว้ ในที่สุดหน่วยความจำก็จะเต็ม ตอนนี้ถ้าคุณมี swap อย่างที่คนอื่น ๆ สังเกตคุณสามารถเอาชีวิตรอดสังเกตและฆ่าบางสิ่งได้ ยิ่งกว่านั้นหากคุณมีการสลับหน้าบางหน้าจะถูกสลับและคุณสามารถไปต่อได้

ดังนั้นหากคุณวางแผนที่จะออกจากเครื่องเป็นเวลานานการสลับเป็นวิธีที่สะดวกในการเพิ่มหน่วยความจำจากขยะซอมบี้ ได้รับมันจะใช้เวลาคุณนานกว่าที่จะเติม 16g กว่าฉันด้วย 3gb แต่ก็ยังดี เพื่อจุดประสงค์นี้ 4Gb จะทำ


0

หากเป็นแล็ปท็อปให้ทำการสลับอย่างน้อยเท่ากับจำนวน RAM เพื่อให้สามารถไฮเบอร์เนตได้อย่างเต็มที่ ฉันจะยังคงรักษาจำนวนเท่ากับจำนวน RAM แม้ว่าเดสก์ท็อป แต่นั่นเป็นเพียงฉัน มันจะได้รับประโยชน์เล็กน้อยในเดสก์ท็อป


0

จำไว้ในใจ -

โดยทั่วไปคุณควรปรับขนาดพื้นที่สว็อปของคุณเป็นหน่วยความจำหลักประมาณ 2 เท่าสำหรับระบบที่มี RAM น้อยกว่า 2GB หรือประมาณ 1x หน่วยความจำหลักถ้าคุณมีมากกว่านั้น

ดังนั้นถ้าคุณมี RAM 4 GB คุณจะไม่เคยต้องแลกเปลี่ยนเว้นแต่จำศีล
Swap จำเป็นจะประมาณ 3-3.5 GB, ไม่ได้มากไปกว่านั้น
ดังนั้นใช้สามัญสำนึกของคุณและอย่าเสียพื้นที่ดิสก์


@ อันวาร์ชาฮ์ - ลองอีกครั้งฉันไม่ได้อ่านมัน แก้ไขคำตอบของฉัน
— Ashu

0

หากคุณกำลังสร้างไฟล์ขนาดใหญ่มากพูดเช่นถ้าคุณกำลังสร้างระบบแปลภาษาบนแล็ปท็อป (ใช่แล้วทำไมคุณถึงอยากทำอย่างนั้นล่ะ) ฉันพูดได้ว่าอาจารย์ของฉันกำลังทำให้ฉัน ;-)) เป็นที่ชัดเจนว่าใช่จริง ๆ แล้วในตอนนี้ฉันเสียใจที่ไม่ได้ทำให้การแลกเปลี่ยน 32GB ....

สำหรับการใช้งาน Ubuntu อย่างไม่เป็นทางการสำหรับงานในสำนักงานและอินเทอร์เน็ตคุณจะไม่เคยใช้งาน swap แม้แต่ 2 GB แต่ในความเป็นจริงไม่มีคำตอบที่ชัดเจนทุกอย่างขึ้นอยู่กับสิ่งที่คุณกำลังทำบนคอมพิวเตอร์ของคุณ ...


0

ข้อมูลมากเกินไปและความแปรปรวนในความคิดเห็น

แนวทางเดสก์ท็อปUbuntu ที่แนะนำของฉัน:

 amount of RAM      recommended swap    with hibernation
----------------    ----------------    ----------------
 less than 4GB        2x RAM size         3x RAM size
   up to 8GB              4GB             2x RAM size
   up to 16GB             4GB            1.5x RAM size
  16GB or more            4GB           No extra needed

0

ดูเหมือนว่าไม่มีใครพูดถึงเหตุผลอื่นที่จะมีพื้นที่สว็อปที่สำคัญคือการทำให้ระบบช้าลงอย่างเห็นได้ชัดแทนที่จะล้มเหลวในการรันโปรแกรมเมื่อคุณเริ่มหน่วยความจำไม่เพียงพอ หากคุณมี load balancer ด้านหน้าที่เปลี่ยนเส้นทางเมื่อเกิดความล้มเหลวคุณอาจต้องการ swap เล็ก ๆ (เช่น 1GB), ถ้าคุณต้องการให้โปรแกรมทำงานช้าลงก่อนฉันจะพิจารณาขนาดหน่วยความจำ 4GB + สแควร์รูทและถ้าคุณต้องการ หากจะชะลอตัวลงก่อนที่สิ่งต่าง ๆ จะตายให้เหลือขนาดหน่วยความจำเวลา 1.25 เท่า (ตราบใดที่คนที่ใจร้อนไม่ยอมแพ้ก่อน - นี่จะเหมาะกว่าสำหรับงานแบ็คกราวน์)

ฉันกำหนดค่า 1GB สำหรับการพัฒนาและอุปกรณ์การผลิตของฉันเป็นมาตรฐานจากนั้นไม่สำคัญว่าพวกเขามีหน่วยความจำจริงมากหรือน้อยเพียงใดพวกเขามีเพียงพอที่จะรวบรวมโปรแกรมทั้งหมดที่ฉันต้องการและเพื่อสลับโปรแกรมที่ไม่เคยใช้ เพิ่มหน่วยความจำสำหรับการบัฟเฟอร์ดิสก์

ในการเปรียบเทียบฉันมี swap 64GB บนแล็ปท็อป 32GB ของฉันซึ่งค่อนข้าง overkill แต่ฉันต้องการตรวจสอบให้แน่ใจว่ามันยังคงทำงานอยู่เสมอแม้ว่าจะช้าและฉันรู้ว่าฉันกำลังเรียกใช้เครื่องเสมือนหน่วยความจำที่หิวมาก ผลที่ไม่คาดคิดคือเมื่อคุณมีช่วงหน่วยความจำ 32GB + จากนั้นกลับมาทำงานต่อจากโหมดไฮเบอร์เนต


0

ไม่คุณไม่จำเป็นต้องใช้ 32GB ตามกฎของระบบเดสก์ทอปผมว่าการแลกของคุณควรจะอยู่ระหว่าง4GBและRAM ที่มีอยู่จริง + คู่กิกะไบต์ ดังนั้นสำหรับ RAM ที่มีอยู่จริง 16GB การสลับอาจเป็น 4GB ถึง 18GB บางที

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

ตามกฎทั่วไปก็ไม่เจ็บที่จะมีมากกว่าสองสาม GB เช่นกัน โดยทั่วไปแล้วการสลับจะไม่ถูกใช้หากคุณมี RAM จำนวนมาก แต่ช่วยได้ในบางครั้งเมื่อกระบวนการบางอย่างใช้จำนวนมากเกินไปและคุณเริ่มลดน้อยลงและสามารถป้องกันกระบวนการฆ่าระบบได้

หมายเหตุ: หากคุณต้องการใช้การจำศีลในระบบปฏิบัติการคุณจะต้องมี 16GB ทั้งหมดตามที่กล่าวไว้ แต่คอมพิวเตอร์สมัยใหม่ไม่ได้รับประโยชน์มากนักจากการจำศีล หากคุณมี SSD ที่รวดเร็วการบูทอาจเร็วหรือเร็วกว่าการเริ่มต้นใหม่จากโหมดไฮเบอร์เนตและคอมพิวเตอร์สมัยใหม่ใช้พลังงานเล็กน้อยในขณะที่อยู่ในโหมดสลีปซึ่งการใช้พลังงานที่ได้รับจากไฮเบอร์เนตนั้นไม่ใช่ปัจจัยสำคัญ

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