Apa yang bisa saya hapus dari / private / var / vm?

80

Apa folder ini? Ini sangat besar dan saya bisa menggunakan ruang ekstra. Saya sudah membaca sleepimage tidak perluapakah ini benar? Haruskah saya menghadapinya? Apakah folder "pribadi" dikosongkan secara otomatis, atau haruskah saya melakukannya secara manual? Jika tidak berguna (atau dibutuhkan), apakah ada cara untuk mencegahnya muncul kembali di masa depan?

masukkan deskripsi gambar di sini

Serigala
sumber
1
Apakah Anda masih tertarik dengan taktik pencegahan yang ditanyakan? Itu mungkin lebih baik ditanyakan secara terpisah sekarang karena Anda memiliki jawaban untuk aspek-aspek utama dari permintaan Anda.
bmike
Sepertinya Lri membahasnya di bawah, tapi terima kasih atas tipnya
Wolf

Jawaban:

79

/var/vm/sleepimagedigunakan untuk menyimpan konten RAM selama hibernasi , dan mode hibernasi hibrida dan mode tidur yang digunakan laptop Mac secara default. Jika Anda memiliki 8 GiB RAM, /var/vm/sleepimagedibutuhkan sekitar 8 GiB ruang disk. Saya tidak tahu mengapa itu tidak dihapus setelah bangun tidur. Mungkin untuk memastikan bahwa ada cukup ruang disk kosong untuk itu atau sehingga tidak akan disimpan pada blok yang tidak berdekatan jika ruang disk rendah.

Anda dapat menghapus /var/vm/sleepimagedengan aman, tetapi akan dibuat kembali saat Anda mengaktifkan Mac. Jika Anda menjalankan sudo pmset -a hibernatemode 0; sudo rm /var/vm/sleepimage, Mac akan menggunakan mode tidur normal (seperti desktop Mac secara default) dan tidak akan dibuat ulang /var/vm/sleepimage.

Dari man pmset:

hibernatemode = 0 (binary 0000) secara default pada desktop yang didukung. Sistem tidak akan mencadangkan memori hingga penyimpanan persisten. Sistem harus bangun dari isi memori; sistem akan kehilangan konteks kehilangan daya. Ini, secara historis, tidur lama yang sederhana.

hibernatemode = 3 (biner 0011) secara default pada portables yang didukung. Sistem akan menyimpan salinan memori ke penyimpanan persisten (disk), dan akan memberi daya memori selama tidur. Sistem akan terbangun dari memori, kecuali jika daya terputus memaksanya untuk memulihkan dari disk image.

hibernatemode = 25 (biner 0001 1001) hanya dapat disetel melalui pmset. Sistem akan menyimpan salinan memori ke penyimpanan persisten (disk), dan akan menghapus daya ke memori. Sistem akan memulihkan dari disk image. Jika Anda ingin "hibernasi" - tidur lebih lambat, bangun lebih lambat, dan masa pakai baterai lebih baik, Anda harus menggunakan pengaturan ini.

  • 0 (mode tidur tradisional) memungkinkan bangun dan tidur cepat, menghemat ruang disk, dan mengurangi penulisan ke drive.
  • 3 (mode hibernasi hibrid dan mode tidur aman) memungkinkan bangun dan tidur cepat dan memungkinkan memulihkan kondisi setelah listrik padam.
  • 25 (hibernasi) menghemat energi dan memungkinkan memulihkan kondisi setelah kehilangan daya.

Saya menggunakan hibernatemode 0 dengan MacBook Air saya. Bahkan jika MacBook Air pergi tidur ketika baterai hampir kosong, baterai biasanya tidak habis sepenuhnya selama tidur. /var/vm/sleepimagemembutuhkan sekitar 4 GiB ruang disk, dan menulisnya ratusan atau ribuan kali mungkin telah mengurangi masa pakai SSD.

Lri
sumber
23

Tambahan: Apa yang dikatakan Dan Barrett tentang penciptaan kembali sleepimage adalah benar. Namun ada cara untuk menyiasatinya dan karenanya secara permanen membebaskan ruang disk yang ditempati oleh sleepimage.

Seluruh langkah:

nonaktifkan mode hibernasi:

sudo pmset -a hibernatemode 0

hapus / pribadi / var / vm / sleepimage:

sudo rm /private/var/vm/sleepimage

buat file kosong dan beri nama 'sleepimage':

sudo touch /private/var/vm/sleepimage

ubah benderanya menjadi tidak berubah:

sudo chflags schg /private/var/vm/sleepimage

Dengan cara ini sistem tidak dapat membuat kembali sleepimage lagi. Ini berfungsi dengan baik untuk saya dan saya tidak melihat masalah pada Mac saya selama 4 bulan.

xji
sumber
4

Jangan hapus / private / var / vm itu adalah file swap Anda yang OS terus-menerus gunakan.

Ketika Anda membutuhkan lebih sedikit swap atau Anda reboot OS akan mengurangi jumlah file yang digunakannya di sini.

pengguna151019
sumber
Mengingatkan saya pada pepatah. Jika tidak rusak, jangan memperbaikinya!
iProgram
4
Saya menghapus seluruh folder vm saya berpikir bahwa sistem akan membuat ulang saat diperlukan, tetapi itu tidak terjadi. Ketika sistem ingin menggunakan file swap, ia membeku dan memulai kembali. Saya sekarang telah membuat folder vm dan swapfile, berharap ini akan memperbaiki masalah ini. Jadi, JANGAN hapus!
Rahul Thakur
2

Jika tidak mengambil terlalu banyak ruang (seperti dalam kasus Anda) saya akan pergi apa adanya. Hal-hal di folder pribadi tidak dimaksudkan untuk diacaukan. Ini bagian dari sistem UNIX tempat Mac Anda dibangun dan seharusnya tidak terlihat. Itu sebabnya mereka menyebut folder itu pribadi . Tetapi perangkat lunak, seperti yang Anda gunakan, membuatnya terlihat, yang bukan merupakan hal yang baik.

Yang sedang berkata, Anda dapat menghapus gambar tidur ini tanpa masalah, tapi saya tidak akan merekomendasikannya. Jika Anda benar-benar membutuhkan 4GB itu, coba gunakan hard drive untuk film, musik, atau lebih, dan hemat ruang dengan file Anda sendiri, bukan file sistem.

Michiel
sumber
3
Saat berikutnya Mac Anda tertidur, ia kembali membuat gambar tidur, jadi tidak ada gunanya menghapusnya. @ sean: jangan menambah RAM Anda, file sleepimage akan sebesar RAM yang dipasang di sistem Anda.
Dan Barrett
Saya hanya memiliki 15 GB tersisa di laptop saya, dan / private / var / vm mengambil sekitar 12 GB yang bisa saya gunakan. Ini tidak segera mendesak saat ini, tetapi saya sedang mempertimbangkannya.
user3932000
2

Catatan tambahan untuk jawaban teratas:

Karena Anda dapat memilih untuk menonaktifkan sleepimage, atau mengaktifkannya tetapi kemudian terpaksa menyimpannya setelah bangun, saya menemukan sedikit trik kotor untuk solusi pilihan saya: Dapatkan sleepimage tetapi hapus setelah bangun untuk membebaskan ruang disk. Jika Anda adalah orang seperti saya yang terus-menerus melayang-layang di ruang kosong sekitar 2-6 GB pada SSD kecil Anda, ini mungkin solusi Anda.

Arahkan sleepimage ke .Trashfolder Anda dan kosongkan tempat sampah Anda setelah bangun.

sudo pmset -a hibernatefile ~/.Trash/sleepimage

Ini hanya solusi yang layak, jika Anda hanya menggunakan satu akun di mac Anda. Anda tidak akan dapat dengan mudah menghapus sleepfile dari akun lain (Tentu saja Anda bisa jika akun lain memiliki hak yang cukup, tetapi itu akan kehilangan kesederhanaannya karena itu tidak hanya berarti mengklik tempat sampah).

Jika karena alasan apa pun Anda ingin kembali ke pengaturan pabrik, ketikkan saja

sudo pmset -a hibernatefile /var/vm/sleepimage

(Catatan: Saya menggunakan 10.8, ini mungkin berubah di versi lain, cukup periksa man pmsetuntuk memastikan.)

zerweck
sumber
-1
sudo pmset -a hibernatefile /dev/null/sleepimage
Freddy
sumber