ฉันมี 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.