คำถามติดแท็ก out-of-memory

2
หน่วยความจำที่เหลืออยู่ของ vm.overcommit_ratio จะไปไหน
ถ้าฉัน overcommit หน่วยความจำปิดการใช้งานโดยการตั้งค่าvm.overcommit_memoryที่จะ2ตามค่าเริ่มต้นระบบจะอนุญาตให้มีการจัดสรรหน่วยความจำได้ถึงมิติของการแลกเปลี่ยน + 50% ของหน่วยความจำกายภาพตามที่อธิบายไว้ที่นี่ ฉันสามารถเปลี่ยนอัตราส่วนโดยการแก้ไขvm.overcommit_ratioพารามิเตอร์ สมมติว่าฉันตั้งไว้ที่ 80% ดังนั้นอาจใช้หน่วยความจำกายภาพ 80% คำถามของฉันคือ: ระบบจะทำอะไรกับส่วนที่เหลืออีก 20% ทำไมพารามิเตอร์นี้จำเป็นต้องมีในตอนแรก ทำไมฉันไม่ควรตั้งไว้ที่ 100% เสมอ

2
คำสั่ง sed พื้นฐานสำหรับไฟล์บรรทัดเดียวขนาดใหญ่: ไม่สามารถจัดสรรหน่วยความจำใหม่ได้
ฉันมีไฟล์ข้อความ 250 MB ทั้งหมดนี้อยู่ในบรรทัดเดียว ในไฟล์นี้ฉันต้องการแทนที่aตัวละครด้วยbตัวอักษร: sed -e "s/a/b/g" < one-line-250-mb.txt มันล้มเหลวด้วย: sed: couldn't re-allocate memory สำหรับฉันดูเหมือนว่างานประเภทนี้สามารถดำเนินการแบบอินไลน์โดยไม่ต้องจัดสรรหน่วยความจำมาก มีเครื่องมือที่ดีกว่าสำหรับงานหรือวิธีการใช้ที่ดีกว่าsedหรือไม่? GNU sed เวอร์ชั่น 4.2.1 Ubuntu 12.04.2 LTS RAM 1 GB

2
HDD swap ของฉันจะไม่มีพาร์ติชั่น swap ได้อย่างไร?
ฉันไม่มีพาร์ติชั่นสว็อปบนดิสก์ของฉันเพราะฉันชอบให้ OOM reaper กำจัดทุกอย่างที่มันต้องการได้อย่างรวดเร็วแทนที่จะต้องรอ 10 นาทีเพื่อให้พาร์ติชั่นสว็อปของฉันเต็ม + 5 นาทีเพื่อเปิด OOM reaper + crash โดยทั่วไปปัญหาของฉันคือ: การเปิดตัวeat_all_my_memory; รอ 10 นาทีโดยใช้ระบบไม่ตอบสนอง (LED HDD ติดสว่างเสมอ) ในระหว่างนี้ให้ลองเปลี่ยนเป็น TTY รอสองสามนาทีเพื่อสลับจริง ป้อนชื่อผู้ใช้และรหัสผ่าน รอสองสามนาที เข้าสู่ระบบ; ออกจากระบบเนื่องจาก OOM reaper; ทำซ้ำตั้งแต่ 5 จนกว่าจะได้ผล ใช้topและดูว่าkworkerเป็น "ทำงาน"; ถูกฆ่าอีกครั้ง ได้รับข้อความจากคนที่พูดว่าeat_all_my_memoryถูกฆ่าตาย; หน่วยความจำว่าง ครั้งล่าสุดใช้เวลา 12 นาที ความพยายามของฉันในการเข้าสู่ระบบใน TTY ดูเหมือนจะไม่มีผลกับรอบเวลาทั้งหมด ฉันมีคำถามสองสามข้อแล้ว: ทำไมระบบของฉันถึงเขียนอะไรบนดิสก์ ไม่มีการแลกเปลี่ยน !!! มันเขียนถึงที่ไหน? ยังไม่มีวิธีบอก …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.