เอกสาร "sleepimage" และ "swapfile" คืออะไร


24

ฉันใช้Disk Inventory Xและพบไฟล์ที่เรียกว่าsleepimageใน/private/var/vm/ใช้ขนาดสูงสุด 4 GB ฉันพบไฟล์อื่น ๆ อีกมากมายในโฟลเดอร์เดียวกันที่เรียกว่าswapfile0 swapfile1เป็นต้นไฟล์เหล่านั้นมีอะไรบ้างและปลอดภัยที่จะลบเพื่อให้ฉันสามารถเพิ่มพื้นที่ว่างได้หรือไม่ (เกือบ 10 GB)


ฉันคาดหวังว่า "swapfiles" สำหรับการแลกเปลี่ยนหน่วยความจำและ "sleepimage" เป็นสถานะที่บันทึกไว้เมื่อคอมพิวเตอร์เข้าสู่โหมดไฮเบอร์เนต
Timothy Mueller-Harder

1
การค้นหา google ที่ง่ายมากสามารถตอบคำถามนี้ได้ ...
Alexander - Reinstate Monica

7
การร้องเรียนเกี่ยวกับคำถามที่คุณพบว่าเป็นเรื่องเล็กน้อยผ่านสื่อความคิดเห็นที่ทุกคนจะพบเจอนั้นเป็นเรื่องเล็กน้อย ฉันทราบว่าไม่มีการลงคะแนนสำหรับคำถามและเป็นวิธีที่ต้องการในการป้อนข้อมูลดังกล่าว
stuffe

ความคิดเห็นล่าสุด ref @XAleXOwnZX
stuffe

@Alexander ฉันค้นหา google ได้ง่ายและพบสิ่งนี้
ฌอนลินช์

คำตอบ:


25

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

sleepimageมีการใช้งานที่คล้ายกันมากยกเว้นว่ามันจะใช้เฉพาะเมื่อ Mac ของคุณ hibernates / ตื่นขึ้นมา

การลบใด ๆ ของswapfile*ไฟล์ที่มีแนวโน้มที่จะเลอะระบบของคุณ sleepimageแต่คุณสามารถลบได้อย่างปลอดภัย อย่างไรก็ตามมันไร้ประโยชน์มันอาจจะถูกสร้างขึ้นใหม่ในครั้งต่อไปที่คุณตั้งคอมพิวเตอร์ให้เข้าสู่โหมดไฮเบอร์เนต หากคุณต้องการที่จะลบมันจริงๆคุณจะต้องใช้sudo rmตั้งแต่rootเป็นเจ้าของไฟล์

ในที่สุดมันเป็นเรื่องปกติที่sleepimageจะใช้งานสูงสุด 4 GB; โดยปกติจะใช้พื้นที่เดียวกับ RAM ของคุณ

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


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

@Reilingh: ฉันเชื่ออย่างนั้นใช่
houbysoft

@NReilingh แล็ปท็อปทั้งสองให้หน่วยความจำขับเคลื่อน แต่ยังเขียนเนื้อหาไปที่ sleepimage โดยค่าเริ่มต้น ดูman pmsetและคำถามนี้
Lri

3

สิ่งเหล่านี้เป็นส่วนหนึ่งของระบบหน่วยความจำเสมือน: swapfile*ประกอบด้วยการแลกเปลี่ยนข้อมูลซึ่งเป็นเนื้อหาหน่วยความจำที่ถูกผลักออกไปยังดิสก์

sleepimageจะใช้สำหรับการระงับและการสนับสนุนประวัติการทำงาน; เมื่อระบบจำศีลนั่นคือที่เก็บข้อมูลหน่วยความจำ

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

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


sleepimageไม่ได้เป็นส่วนหนึ่งของระบบหน่วยความจำเสมือน sleepimageเกี่ยวข้องกับการจัดการพลังงานและหน่วยความจำกายภาพ
เกรแฮมเพอร์ริน

2

ฉันเพิ่งลบ sleepimage ของฉันและทุกอย่างทำงานได้ดีและเพื่อป้องกันไม่ให้เกิดขึ้นอีกครั้งอย่างถาวรให้ทำตามขั้นตอนที่ระบุไว้ในความคิดเห็นของบทความนี้

สรุป…

  • ฉันสามารถลบ sleepimage จาก Mac ของฉันได้อย่างปลอดภัยหรือไม่?
  • ใช่คุณสามารถลบ sleepimage และมันจะถูกสร้างขึ้นอีกครั้งโดยอัตโนมัติในครั้งต่อไปที่ Mac ของคุณเข้าสู่โหมดสลีป หากต้องการลบ sleepimage ให้พิมพ์คำสั่งต่อไปนี้ใน Terminal:

    sudo rm / private / var / vm / sleepimage

คุณจะถูกขอรหัสผ่านผู้ดูแลระบบเพื่อให้สามารถเข้าถึงเพื่อลบไฟล์ซึ่งเป็นเรื่องปกติ

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

เพื่อตรวจสอบโหมดที่ใช้งานอยู่

pmset -g | grep hibernatemode

เพื่อเปลี่ยนโหมด 0 = โหมดสลีปเก่า 3 = ใหม่ (บันทึกเป็นสไตล์ดิสก์)

sudo pmset -a hibernatemode 0

ยินดีต้อนรับสู่ถามที่แตกต่างกัน! โปรดสรุปเนื้อหาของบทความที่คุณกำลังเชื่อมโยง คำตอบควรเพียงพอสำหรับการแก้ปัญหา จากนั้นคุณสามารถให้ข้อมูลเพิ่มเติมโดยใช้ลิงก์
Maverik

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