ฉันสามารถลบอะไรจาก / private / var / vm


80

โฟลเดอร์นี้คืออะไร? มันใหญ่มากและฉันสามารถใช้ห้องเสริมได้ ฉันอ่านsleepimage ไม่จำเป็น - จริงหรือไม่ ฉันควรจัดการกับมันเหรอ? โฟลเดอร์ "ส่วนตัว" ถูกลบโดยอัตโนมัติหรือฉันต้องทำด้วยตนเองหรือไม่ หากไม่มีประโยชน์ (หรือจำเป็น) มีวิธีป้องกันไม่ให้เกิดขึ้นอีกในอนาคตหรือไม่

ป้อนคำอธิบายรูปภาพที่นี่


1
คุณยังมีความสนใจในการป้องกันคำถาม นั่นอาจจะถูกถามแยกกันดีกว่าตอนนี้คุณมีคำตอบสำหรับประเด็นหลักของการสืบค้นแล้ว
bmike

ดูเหมือนว่า Lri จะกล่าวถึงด้านล่าง แต่ขอบคุณสำหรับเคล็ดลับ
Wolf

คำตอบ:


79

/var/vm/sleepimageใช้เพื่อเก็บเนื้อหาของ RAM ในระหว่างการไฮเบอร์เนตและไฮเบอร์เนตไฮบริดและโหมดสลีปที่แล็ปท็อป Mac ใช้เป็นค่าเริ่มต้น หากคุณมี RAM /var/vm/sleepimage8 GiB ให้ใช้พื้นที่ดิสก์ประมาณ 8 GiB ฉันไม่รู้ว่าทำไมมันไม่ถูกลบหลังจากตื่นนอนแม้ว่า อาจเป็นเพื่อให้แน่ใจว่ามีพื้นที่ว่างในดิสก์เพียงพอหรือเพื่อที่จะไม่ถูกเก็บในบล็อกที่ไม่ต่อเนื่องกันหากพื้นที่ว่างในดิสก์เหลือน้อย

คุณสามารถลบ/var/vm/sleepimageได้อย่างปลอดภัย แต่จะถูกสร้างขึ้นใหม่เมื่อคุณทำให้ Mac เข้าสู่โหมดสลีป ถ้าคุณเรียกใช้sudo pmset -a hibernatemode 0; sudo rm /var/vm/sleepimage, เครื่อง Mac จะใช้โหมดการนอนหลับปกติ (เช่นแม็คสก์ท็อปโดยค่าเริ่มต้น) /var/vm/sleepimageและมันจะไม่สร้าง

จากman pmset:

hibernatemode = 0 (ไบนารี 0000) โดยค่าเริ่มต้นบนเดสก์ท็อปที่รองรับ ระบบจะไม่สำรองหน่วยความจำสูงสุดไปยังที่จัดเก็บข้อมูลถาวร ระบบจะต้องปลุกจากเนื้อหาของหน่วยความจำ ระบบจะสูญเสียบริบทในการสูญเสียพลังงาน นี่คืออดีตการนอนหลับที่เรียบง่ายในอดีต

hibernatemode = 3 (ไบนารี 0011) โดยค่าเริ่มต้นบนพอร์ตที่รองรับ ระบบจะจัดเก็บสำเนาหน่วยความจำไปยังที่จัดเก็บข้อมูลถาวร (ดิสก์) และจะจ่ายไฟให้หน่วยความจำในระหว่างที่หลับ ระบบจะปลุกจากหน่วยความจำเว้นแต่ว่าพลังงานจะสูญเสียให้เรียกคืนจากดิสก์อิมเมจ

hibernatemode = 25 (ไบนารี 0001 1001) สามารถตั้งค่าได้ผ่าน pmset เท่านั้น ระบบจะเก็บสำเนาหน่วยความจำไปยังที่จัดเก็บข้อมูลถาวร (ดิสก์) และจะลบพลังงานไปยังหน่วยความจำ ระบบจะกู้คืนจากดิสก์อิมเมจ หากคุณต้องการ "การจำศีล" - นอนหลับช้าลงตื่นช้าลงและอายุการใช้งานแบตเตอรี่ที่ดีขึ้นคุณควรใช้การตั้งค่านี้

  • 0 (โหมดสลีปดั้งเดิม) เปิดใช้งานการปลุกและสลีปอย่างรวดเร็วประหยัดพื้นที่ดิสก์และลดการเขียนลงไดรฟ์
  • 3 (ไฮเบอร์เนตไฮบริดและโหมดสลีปที่ปลอดภัย) เปิดใช้งานการตื่นและนอนหลับอย่างรวดเร็วและช่วยให้เรียกคืนสถานะหลังจากการสูญเสียพลังงาน
  • 25 (ไฮเบอร์เนต) ช่วยประหยัดพลังงานและช่วยให้สามารถเรียกคืนสถานะหลังจากการสูญเสียพลังงาน

ฉันใช้ hibernatemode 0 กับเครื่อง MacBook ของฉัน แม้ว่า MacBook Air จะเข้าสู่โหมดสลีปเมื่อแบตเตอรี่ใกล้หมด แต่โดยปกติแบตเตอรี่จะไม่ระบายออกจนหมดระหว่างการนอนหลับ /var/vm/sleepimageใช้พื้นที่ดิสก์ประมาณ 4 GiB และการเขียนหลายร้อยหรือหลายพันครั้งอาจทำให้อายุการใช้งานของ SSD ลดลง


23

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

ขั้นตอนทั้งหมด:

ปิดใช้งานโหมดไฮเบอร์เนต:

sudo pmset -a hibernatemode 0

ลบ / ส่วนตัว / var / vm / sleepimage:

sudo rm /private/var/vm/sleepimage

สร้างไฟล์ว่างและตั้งชื่อว่า 'sleepimage':

sudo touch /private/var/vm/sleepimage

เปลี่ยนสถานะเป็นเปลี่ยนรูป:

sudo chflags schg /private/var/vm/sleepimage

ด้วยวิธีนี้ระบบจะไม่สามารถสร้าง sleepimage อีกต่อไป มันทำงานได้อย่างสมบูรณ์แบบสำหรับฉันและฉันไม่เห็นปัญหาใด ๆ บน Mac ของฉันเป็นเวลา 4 เดือน


4

อย่าลบ / private / var / vm เป็นไฟล์ swap ของคุณที่ระบบปฏิบัติการใช้อย่างต่อเนื่อง

เมื่อคุณต้องการ swap น้อยกว่าหรือคุณรีบูตระบบปฏิบัติการจะลดจำนวนไฟล์ที่ใช้ที่นี่


ทำให้ฉันนึกถึงคำพูด ถ้ามันไม่พังก็อย่าซ่อมมัน!
iProgram

4
ฉันลบโฟลเดอร์ vm ทั้งหมดของฉันโดยคิดว่าระบบจะสร้างใหม่เมื่อจำเป็น แต่นั่นไม่ได้เกิดขึ้น เมื่อระบบต้องการใช้ไฟล์ swap ระบบจะหยุดและเริ่มใหม่ ตอนนี้ฉันได้สร้างโฟลเดอร์ vm และ swapfile หวังว่าสิ่งนี้จะแก้ไขปัญหาได้ ดังนั้นอย่าลบ!
Rahul Thakur

2

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

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


3
ครั้งต่อไปที่ Mac ของคุณเข้าสู่โหมดสลีปจะสร้างภาพสลีปขึ้นมาใหม่ @sean: อย่าเพิ่ม RAM ของคุณไฟล์ sleepimage จะมีขนาดใหญ่เท่ากับ RAM ที่ติดตั้งในระบบของคุณ
Dan Barrett

ฉันเหลือแล็ปท็อปของฉันเพียง 15 GB และ / private / var / vm ใช้เวลาประมาณ 12 GB ที่ฉันสามารถใช้ได้ ตอนนี้มันไม่เร่งด่วนทันที แต่ฉันกำลังพิจารณาอยู่
user3932000

2

หมายเหตุเพิ่มเติมสำหรับคำตอบยอดนิยม:

เนื่องจากคุณสามารถเลือกที่จะปิดการใช้งาน sleepimage หรือเปิดใช้งาน แต่จากนั้นถูกบังคับให้เก็บไว้หลังจากตื่นนอนฉันพบเคล็ดลับสกปรกเล็กน้อยสำหรับโซลูชันที่ฉันต้องการ: มี sleepimage แต่ลบมันหลังจาก wakeup เพื่อเพิ่มพื้นที่ว่างในดิสก์ หากคุณเป็นคนอย่างฉันที่วนเวียนอยู่ที่พื้นที่ว่างประมาณ 2-6 GB บน SSD ขนาดเล็กของคุณอย่างต่อเนื่องนี่อาจเป็นทางออกของคุณ

เพียงชี้ภาพไปยัง.Trashโฟลเดอร์ของคุณและล้างถังขยะหลังจากตื่นขึ้นมา

sudo pmset -a hibernatefile ~/.Trash/sleepimage

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

หากคุณต้องการกลับไปที่การตั้งค่าจากโรงงานด้วยเหตุผลใดก็ตามให้พิมพ์

sudo pmset -a hibernatefile /var/vm/sleepimage

(หมายเหตุ: ฉันใช้ 10.8 นี่อาจเปลี่ยนแปลงในรุ่นอื่นเพียงตรวจสอบman pmsetเพื่อให้แน่ใจ)


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