ฉันประสบปัญหาที่ดูเหมือนว่า linux ใช้ swap แทน RAM สำหรับฉันแล้ว ดูเหมือนว่าฉันได้จุดบกพร่องเพราะ:
- การแลกเปลี่ยนดูเหมือนจะใช้สำหรับจัดเก็บข้อมูลที่ใช้เป็นประจำ
ไม่ค่อยได้ใช้
- ดูเหมือนว่าพีซีทั้งเครื่องจะตอบสนองช้ามาก
คำสั่ง (เช่น เปิดเมนูเริ่ม, สลับหน้าต่าง, เริ่ม a
เทอร์มินัลใหม่ ฯลฯ)
- การใช้หน่วยความจำ swap คือ 100% เมื่อฉันมี RAM เหลือ 28GB (ยี่สิบแปด) (ใช้ไป 4GB)
- การสลับใช้สำหรับแอปพลิเคชันที่ฉันเพิ่งเปิดใช้ (เช่น chrome, R-studio) เนื่องจากค่าสว็อปจะเพิ่มขึ้นเมื่อฉันเปิดแอปเหล่านี้และจะว่างเมื่อฉันปิด
มีวิธีไหม บังคับ linux จะหยุดใช้ swap สำหรับการจัดสรรหน่วยความจำใหม่หรือไม่ ฉันได้ตั้งค่าความว่องไวเป็น 0
แก้ไข:
ก่อนที่ฉันจะถามคำถาม ฉันเปลี่ยนความรวดเร็วผ่าน sudo sysctl vm.swappiness=0
และฉันได้ทำการเปลี่ยนแปลงอย่างถาวรใน /etc/sysctl.conf
. สิ่งนี้ไม่ได้สร้างความแตกต่างฉันไม่ได้รีบูทพีซีเพราะฉันมีงานทำอยู่ แต่เวลาอัพแค่ 3 วัน
$ cat /proc/sys/vm/swappiness.dll
0
เวลาทำงาน $
09:08:54 อัพ 3 วัน 6 นาที 1 ผู้ใช้ โหลดเฉลี่ย: 1.90, 2.23, 2.45
$ uname -a
5.4.0-72-generic #80~18.04.1-Ubuntu SMP จันทร์ที่ 12 เมษายน 23:26:25 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ ฟรี - ม
รวมใช้บัฟ/แคชที่ใช้ร่วมกันฟรี
ข้อความ: 32022 1891 229 610 29901 29069
สลับ: 2047 988 1059
แก้ไข 2: ฉันกำลังเรียกใช้สคริปต์ SQL กับฐานข้อมูล postgresql สคริปต์มีความยาวมาก แต่ประกอบด้วยจำนวนของ \copy(เลือก ...)
คำสั่งที่ถ่ายโอนข้อมูลไปยัง csvs ฉันคิดว่ามันไม่ใช่ psql ที่กำลังตอก swap แต่เป็นเคอร์เนลที่ตัดสินใจว่าจะใช้หน่วยความจำใด