Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

วิธีกำหนดค่า ZRAM บนคอมพิวเตอร์ Ubuntu

ZRAM เป็นโซลูชันที่ยอดเยี่ยมในการแลก CPU power บ้างเพื่อได้ RAM มากขึ้น แต่จะกำหนดค่าให้ ZRAM ใช้ RAM มาก/น้อยได้อย่างไร? เปลี่ยนอัลกอริทึมการบีบอัดได้อย่างไร? ในสถานการณ์ไหนที่การเปลี่ยนแปลงเหล่านี้คุ้มค่า? อ่านต่อเพื่อดูวิธีกำหนดค่า ZRAM บน Ubuntu

ตรวจสอบสถานะ ZRAM ปัจจุบัน

ส่วนใหญ่ใช้ ZRAM บน Ubuntu, Mint หรือ distro รองรับผ่านสคริปต์ zram-config เพราะใช้งานง่ายที่สุด ติดตั้งด้วย:

sudo apt install zram-config

ค่าเริ่มต้นตั้ง ZRAM ที่ครึ่งหนึ่งของ RAM จริง แบ่งเป็นหลายพาร์ติชัน ตามจำนวนโคร์ CPU ตรวจสอบได้ด้วย:

cat /proc/swaps

ในตัวอย่าง ระบบมี RAM 8GB ผลรวม ZRAM volumes = 4GB (ครึ่งหนึ่ง) แต่วORKLOAD ต่างๆ อาจต้องการเปลี่ยนขนาด

  • ทำงานกับมัลติมีเดีย/วิดีโอ: ไม่บีบอัดได้ดี ควรลดขนาด ZRAM เพิ่ม swap จริง
  • ทำงานกับฐานข้อมูลใหญ่/ข้อมูลบีบอัดได้ดี: เพิ่มขนาด ZRAM เพื่อเพิ่มความตอบสนอง

การปรับอีกอย่างคืออัลกอริทึมการบีบอัด เริ่มต้นใช้ LZO หรือ LZO-RLE (เบาโปรเซสเซอร์) แต่ CPU สมัยใหม่ ZSTD ให้อัตราบีบอัดดีกว่า และโหลด CPU สูงกว่าเล็กน้อยไม่รู้สึก ควรใช้ ZSTD แทน LZO หาก PC อายุน้อยกว่า 10 ปี

ใช้ zramctl ตรวจสอบอัลกอริทึมปัจจุบัน:

zramctl

zramctl ควรมีอยู่แล้ว ถ้าไม่มี ติดตั้ง util-linux:

sudo apt install util-linux

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

เปลี่ยนขนาด ZRAM

แก้ไข exec script ในโฟลเดอร์ bin:

sudo nano /usr/bin/init-zram-swapping

แก้ไขบรรทัดนี้เพื่อเปลี่ยนปริมาณ RAM:

mem=$(( (totalmem / 2 / ${NRDEVICES}) * 1024 ))

บรรทัดนี้กำหนด RAM ที่ ZRAM ใช้จากคำนวณ:

  1. totalmem = RAM ที่ติดตั้ง
  2. /2 หาร 2 = "ครึ่งหนึ่งของ RAM ทั้งหมด"
  3. / ${NRDEVICES} หารจำนวนโคร์
  4. * 1024 คูณ 1024

ไม่ควรเปลี่ยน 1 และ 3 แต่ปรับ 2 และ 4 ได้:

  • เพิ่ม / 2 เป็น / 4 → RAM หาร 4 แทน 2 → ZRAM ใช้ 1/4 แทนครึ่ง (แนะนำไม่น้อยกว่า /2)
  • เก็บ / 2 แต่ลด 1024 เป็น 512 → ผลลัพธ์เท่ากัน (หาร 2 อีกครั้ง) เพิ่มเป็น 1536 หากต้องการ ZRAM ใช้ RAM มากขึ้น

เปลี่ยนอัลกอริทึมการบีบอัด ZRAM

เปลี่ยนอัลกอริทึมจากที่เดียวกัน ตรวจสอบอัลกอริทึมปัจจุบัน:

cat /sys/block/zram0/comp_algorithm

ในการตั้งค่าเริ่มต้น ทุก ZRAM partition ใช้อัลกอริทึมเดียวกัน ตรวจสอบตัวแรกพอ ในภาพใช้ ZSTD (อยู่ในวงเล็บ) ถือว่าดีที่สุดระหว่างอัตราบีบอัด ความเร็ว และทรัพยากร ควรคงไว้ แต่ถ้าใช้ค่าเริ่มต้นจะเป็น LZO หรือ LZO-RLE

กลับไปที่ init-zram-swapping script หาบรรทัด:

echo $mem > /sys/block/zram${DEVNUMBER}/disksize

คัดลอกและวางด้านล่างอีกบรรทัด (มี 2 บรรทัดเหมือนกัน) บรรทัดนี้กำหนดขนาด ZRAM volume แต่เราจะใช้กำหนดอัลกอริทึมแทน

  1. แทนที่ $mem ต้นบรรทัดด้วย zstd
  2. แทนที่ disksize ท้ายบรรทัดด้วย comp_algorithm

บรรทัดที่แก้แล้ว:

echo zstd > /sys/block/zram${DEVNUMBER}/comp_algorithm

ถ้าต้องการอัลกอริทึมอื่น แทนที่ zstd ด้วยชื่ออัลกอริทึม บันทึกไฟล์ รีบูท และตรวจสอบผลลัพธ์

ตรวจสอบประสิทธิภาพระบบภายใต้โหลดเมื่อใช้ swap ที่ปรับแล้ว หากรู้สึกช้าหรือสะดุด อาจปรับมากเกินไป ต้องลดค่า ถ้าบินได้ อาจเพิ่มค่าได้อีก

ตอนนี้รู้วิธีกำหนดค่า ZRAM ใน Ubuntu แล้ว หากจะสร้าง PC ที่แข็งแกร่งกว่านี้ นี่คือสิ่งที่ควรทราบเมื่อสร้าง PC สำหรับ Linux