มันมีความสำคัญกับปริมาณของพื้นที่แลกเปลี่ยนในระบบ Linux หรือไม่


12

เป็นเรื่องสำคัญหรือไม่ถ้าจำนวนของพื้นที่แลกเปลี่ยนใน Linux ถูกตั้งค่าน้อยเกินไป (เช่น 1Gb) และ RAM หลักคือ128Gbอะไร

เราควรตั้งค่าจำนวนพื้นที่การสลับเป็น RAM สองเท่าหรือไม่?

UPDATED:

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

ข้อมูล

นี่MEMTOTคือจำนวน RAM ทั้งหมดของเครื่องนั้นSWAPTOคือจำนวนพื้นที่ SW AP ทั้งหมดของเครื่องนั้นและSWAPUSจำนวน SWAP ที่ใช้ในพื้นที่ ดังที่แสดงในรูปภาพการใช้ SWAP นั้นเล็กมาก

เมื่อพยายามที่จะแก้ปัญหาที่โพสต์ในที่นี่เราไม่แน่ใจว่าจำนวนของพื้นที่ SWAP ถูกตั้งค่าไว้น้อยเกินไปซึ่ง1Gbสัมพันธ์กับ128Gbดังที่แสดงในภาพ ดังนั้นฉันมีคำถามนี้ ฉันขอโทษที่ฉันไม่ได้โพสต์ข้อมูลพื้นหลังทั้งหมดในเวอร์ชันดั้งเดิมของโพสต์นี้ ก่อนหน้านั้นเรายังคิดด้วยว่าถ้า RAM มีขนาดใหญ่เราสามารถตั้งค่า SWAP ขนาดเล็กได้ เราพยายามตั้งค่า SWAP c0148ให้เป็น16Gbปัญหาดูเหมือนว่าจะไม่มี (บางทีเราควรจะได้ข้อสรุปนี้หลังจากสังเกตสถานะของพวกเขาเป็นเวลานาน)

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

นอกจากนี้หากเราเพิ่งตั้งค่าจำนวน SWAP มากเกินไปปัญหาอื่น ๆ ที่มันจะทำให้เกิดก็น่าพิจารณาเช่นกัน


1
หากคุณมี RAM ขนาด 128Gb และคุณเริ่มทำการแลกเปลี่ยน - ระบบนั้นอาจไม่สามารถควบคุมได้ โดยส่วนตัวแล้วฉันอาจเรียกใช้เซิร์ฟเวอร์นั้นโดยไม่ต้องเปลี่ยนเลย OOMKiller ควรดูแลกระบวนการหลบหนีใด ๆ ก่อนที่หน่วยความจำไม่เพียงพอจะทำให้เกิดปัญหา - และความผิดพลาดนั้นเร็วกว่าในการแก้ไขปัญหาใด ๆ
Ryan Gooler

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

1
@ Ryan Gooler: หากคุณกำลังทำแบบจำลองทางวิทยาศาสตร์กระบวนการที่ใช้ 128 Gb หรือมากกว่านั้นจะไม่สมเหตุสมผล
jamesqf


1
@ RyanGooler จริงเพียงพอ ประเด็นของฉันคือการเพิ่มการแลกเปลี่ยนสามารถอนุญาตให้โปรแกรมใช้ RAM ที่มีอยู่จริงได้มากขึ้น มันเป็นเพียงกี่ MB แต่จะดีกว่าไม่มีอะไร :)
นาวิน

คำตอบ:


19

ลินุกซ์เคอร์เนลมีการตั้งค่าเพื่อควบคุมวิธีการที่มักจะแลกเปลี่ยนถูกนำมาใช้เรียกว่าswappinessอธิบายที่/unix/88693/why-is-swappiness-set-to-60-by-default

swappiness ที่เป็นศูนย์หมายความว่าการสลับจะถูกใช้เฉพาะเมื่อระบบมีหน่วยความจำไม่เพียงพอ ความรวดเร็วของ 100 โปรแกรมบังคับให้ใช้ swap ได้ทันที

ปรับแต่งระบบของคุณตามที่คุณต้องการ แต่การมี RAM ขนาด 128 GB ไม่น่าเป็นไปได้มากที่ระบบของคุณจะมีหน่วยความจำไม่เพียงพอดังนั้นการสลับ 2/4 GB อาจเพียงพอ ไม่แนะนำให้ใช้ แต่เป็นไปได้ที่จะเรียกใช้ระบบโดยไม่สลับพาร์ติชัน

ฉันคิดว่ากฎของพื้นที่สว็อปเป็นสองเท่าของจำนวน RAM ที่ล้าสมัยและมีประโยชน์เฉพาะกับระบบที่มี RAM ประมาณ 1 GB และมักจะใช้งานเต็มพื้นที่เสมอ


2
ในขณะที่การตั้งค่าswappinessให้เป็น 0 ดูเหมือนว่าตรรกะที่มีจำนวนมากของ RAM, มันอาจจะดีกว่าที่จะเก็บไว้เป็นค่าเริ่มต้นของ60: http://unix.stackexchange.com/a/88820/50687
อัล

1
มีกราฟที่มีรูปแบบ swappiness 0 ถึง 100 ในแกนหนึ่งและอย่างอื่นเพื่อแสดงให้เห็นว่า ... ความ swappiness ขึ้นอยู่กับค่าหรือไม่
user1306322

สวัสดี @ jcbermu ฉันได้อัปเดตโพสต์แล้วถ้าสะดวกโปรดตรวจสอบ
ขุด

5

ฉันเชื่อว่ากฎ 2 ข้อของหัวแม่มือนั้นล้าสมัยแล้ว เวิร์คสเตชั่นของเรามี RAM 16GB โดยปกติแล้วเราจะใช้งานประมาณ 25% ของที่ใช้งานและแทบจะไม่ใช้มากกว่า 50% ดังนั้นเพื่อจุดประสงค์ของเราเราไม่ใช้การแลกเปลี่ยนใด ๆ

เนื่องจากคุณต้องตัดสินใจว่าจะสร้าง swap เท่าใดและในทางทฤษฎีแล้วตัวเลขใด ๆ ที่คุณเลือกจะไม่เพียงพอในบางจุดแล้วทำไมไม่เลือก 0 หรือ - ทำไมไม่เพียงแค่ติดตั้ง RAM เพิ่มเติม

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


สวัสดี @gjcamnn ขอขอบคุณที่ตอบกลับ ฉันได้อัปเดตโพสต์แล้วถ้าสะดวกโปรดตรวจสอบ
ขุด

0

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


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