วิธีการป้องกันระบบของฉันไม่ตอบสนองเมื่อ thrashing (จากแรม)


11

ฉันมี RAM 8GB แต่บางครั้งฉันก็ใช้ VM คู่และกระบวนการ Chrome เพียงพอที่จะใช้หน่วยความจำส่วนใหญ่ของฉัน ปกติแล้วจะดี แต่บางครั้งระบบของฉันก็เริ่มฟาดฟันและมันก็ยากสำหรับฉันที่จะกู้คืนจากมันโดยไม่ต้องรอให้สิ่งต่าง ๆ ดีขึ้นเพราะ UI ส่วนใหญ่จะแข็งตัว

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

มีวิธีการเพื่อให้แน่ใจว่า UI จะยังคงตอบสนองเมื่อระบบของฉันถูก thrashing?

ขอบคุณ!

แก้ไข: ฉันยังสนใจว่ามีสิ่งที่ดีสำหรับหน่วยความจำหรือไม่ แต่ฉันเพิ่งค้นพบว่าระบบของฉันไม่มีพื้นที่สว็อปใด ๆ ฉันคิดว่าสิ่งนี้เกิดขึ้นเพราะฉันเริ่มใช้การเข้ารหัสที่บ้านและการสลับที่เข้ารหัส (ดูSwap ไม่ทำงานบนการติดตั้งที่สะอาด 14.04 โดยใช้การเข้ารหัสที่บ้าน ) ดังนั้นระบบของฉันอาจไม่ตอบสนองเพราะฉันไม่มีพื้นที่สว็อปดังนั้นระบบของฉันจึงไม่สามารถสลับโปรแกรมที่ไม่จำเป็นออกได้เมื่อหน่วยความจำเหลือน้อย


ดูเหมือนว่าคุณพบสาเหตุของปัญหาของคุณ (ไม่มีการจัดสรร swap) - คุณต้องการทราบวิธีตั้งค่าการแลกเปลี่ยนที่เข้ารหัสหรือไม่? บางทีคุณสามารถแก้ไขคำถามหรือเริ่มคำถามใหม่ได้
thomasrutter

1
ฉันยังคงสนใจในสิ่งที่เป็นสไตล์ RAM ที่ดีเนื่องจากฉันมีปัญหาคล้ายกับที่อธิบายไว้ในคำถามของฉันก่อนแม้เมื่อฉันมีไฟล์ swap
Sam King

คำตอบ:


2

ฉันเพิ่งค้นพบว่าระบบของฉันไม่มีพื้นที่สว็อป

หากเป็นจริงแสดงว่าอาจเป็นสาเหตุของปัญหา

ด้วยการใช้ VM หลายเครื่องพร้อมกับการจัดสรรหน่วยความจำขนาดใหญ่จำนวนแรมที่ปกติแล้วจะเพียงพอสำหรับการใช้งานปกติ (8GB) เริ่มตึงตัวซึ่งหมายความว่าระบบของคุณจะไม่สามารถใช้แคชได้มากและจะต้องการสลับ . ตอนนี้ถ้าคุณไม่มี swap จะมีแรงกดดันมากขึ้นในหน่วยความจำและคุณอาจถูกฆ่าเนื่องจากภาระหน่วยความจำหมด

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

ในระบบที่คุณใช้งาน VM แต่คุณยังใช้เดสก์ท็อปปกติบนโฮสต์ VM คุณไม่ต้องการให้ VM ของคุณใช้ RAM ทั้งหมดของคุณในความเป็นจริงฉันประหยัดครึ่ง RAM ของคุณ (มากถึง 4GB ) สำหรับโฮสต์เนื่องจากคุณใช้ซอฟต์แวร์บนโฮสต์และต้องการให้ตอบสนองได้

โปรดทราบด้วยว่า VMs นั้นมีความไร้ประสิทธิภาพโดยธรรมชาติไม่ใช่เพียงเพราะ RAM ของพวกเขานั้นแยกจากกันโดยสิ้นเชิงพวกเขาไม่ได้แชร์แคชหรือบัฟเฟอร์ แต่พวกเขากำลังเรียกใช้ระบบปฏิบัติการที่แยกต่างหากทั้งหมดภายใต้เลเยอร์นามธรรม ดังนั้นคุณสามารถรับประสิทธิภาพที่ดีขึ้นได้เสมอหากคุณตัดสินใจที่จะใช้งานบางอย่างบนโฮสต์มากกว่าใน VM - แม้ว่าวัตถุประสงค์ของคุณในการใช้ VM คือการใช้ระบบปฏิบัติการอื่น ๆ สิ่งนี้จะไม่เกิดขึ้น

มีวิธีการเพื่อให้แน่ใจว่า UI จะยังคงตอบสนองเมื่อระบบของฉันถูก thrashing?

เมื่อจำนวนของ RAM ที่คุณมีปัญหาสิ่งที่คุณทำได้คือแฮ็คเท่านั้น - ทางออกที่แท้จริงคือซื้อ RAM เพิ่ม (แม้ว่าในกรณีของคุณอย่างที่ผมบอกไปคุณอาจจัดสรร VM ให้น้อยลงได้)

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

ฉันนึกภาพออกว่าเป็น "ดี" สำหรับหน่วยความจำ (เพื่อให้ฉันสามารถใช้ Chrome และ VM ของฉันได้)

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

อีกอย่างที่เทียบเท่ากับ "ดีสำหรับหน่วยความจำ" คือการสลับ - คุณไม่สามารถควบคุมว่าแต่ละขั้นตอนมีความเป็นตัวตนได้อย่างไร แกะ.

แต่อย่างที่ฉันพูดและเป็นกฎทองถ้าคุณหมด RAM แล้วการซื้อ RAM เพิ่มขึ้นเป็นวิธีแก้ปัญหาด้วยอาการปวดหัวและข้อเสียน้อยที่สุด

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