/ private / var / vmから削除できるもの


80

このフォルダーは何ですか?それは巨大で、私は余分な部屋を使うことができます。sleepimageを読む必要はありません。これは本当ですか?対処するだけですか?「プライベート」フォルダーは自動的に空になりますか、それとも手動で行う必要がありますか?役に立たない(または必要でない)場合、将来それが再発するのを防ぐ方法はありますか?

ここに画像の説明を入力してください


1
問題の予防策にまだ興味がありますか?クエリの主な側面に対する回答が得られたので、個別に質問する方がよいかもしれません。
bmike

Lriはそのことを以下で説明したように見えますが、ヒントをありがとう
ウルフ

回答:


79

/var/vm/sleepimage休止中にRAMの内容を保存するために使用され、Macラップトップがデフォルトで使用する休止状態とスリープのハイブリッドモード。8 GiBのRAMがある場合、/var/vm/sleepimage約8 GiBのディスク容量が必要です。しかし、スリープから復帰した後に削除されない理由はわかりません。十分な空きディスク領域があることを確認したり、ディスク領域が少ない場合に不連続なブロックに保存されないようにすることが考えられます。

/var/vm/sleepimage安全に削除できますが、Macをスリープ状態にすると再作成されます。実行するsudo pmset -a hibernatemode 0; sudo rm /var/vm/sleepimageと、Macは通常のスリープモード(デフォルトではデスクトップMacなど)を使用し、再作成しません/var/vm/sleepimage

からman pmset

サポートされているデスクトップでは、デフォルトでhibernatemode = 0(バイナリ0000)。システムはメモリを永続ストレージにバックアップしません。システムはメモリの内容から起動する必要があります。システムは電力損失時にコンテキストを失います。これは、歴史的に、普通の古い睡眠です。

hibernatemode = 3(バイナリ0011)デフォルトでは、サポートされているポータブルで。システムはメモリのコピーを永続ストレージ(ディスク)に保存し、スリープ中にメモリに電力を供給します。システムは、電力損失により強制的にディスクイメージから復元しない限り、メモリから起動します。

hibernatemode = 25(バイナリ0001 1001)は、pmsetでのみ設定可能です。システムはメモリのコピーを永続ストレージ(ディスク)に保存し、メモリへの電力を除去します。システムはディスクイメージから復元します。「休止状態」が必要な場合は、スリープが遅くなり、スリープが遅くなり、バッテリー寿命が長くなります。この設定を使用する必要があります。

  • 0(従来のスリープモード)は、高速ウェイクアップとスリープを有効にし、ディスクスペースを節約し、ドライブへの書き込みを減らします。
  • 3(ハイブリッド休止状態およびセーフスリープモード)は、高速ウェイクアップとスリープを有効にし、電力損失後の状態の復元を有効にします。
  • 25(休止状態)はエネルギーを節約し、電力損失後の状態の復元を可能にします。

MacBook Airでhibernatemode 0を使用しました。バッテリーがほとんど空の状態でMacBook Airがスリープ状態になったとしても、通常、スリープ中にバッテリーが完全に消耗することはありませんでした。/var/vm/sleepimage約4 GiBのディスク容量を消費し、数百または数千回書き込むとSSDの寿命が短くなる可能性がありました。


23

追加:スリープイメージの再作成についてダンバレットが言ったことは事実です。ただし、それを回避する方法があり、そのため、sleepimageが占有しているディスク容量を永久に解放します。

全体の手順:

ハイバネーションモードを無効にします。

sudo pmset -a hibernatemode 0

/ private / var / vm / sleepimageを削除します。

sudo rm /private/var/vm/sleepimage

空のファイルを作成し、「sleepimage」という名前を付けます。

sudo touch /private/var/vm/sleepimage

フラグを不変に変更します。

sudo chflags schg /private/var/vm/sleepimage

この方法では、システムはスリープイメージを再作成できなくなります。これは私にとって完璧に機能し、4か月間Macで問題が発生したことはありません。


4

/ private / var / vmは削除しないでください。OSが常に使用するのはスワップファイルです。

必要なスワップが少なくなるか、OSを再起動すると、ここで使用するファイルの数が減ります。


ことわざを思い出させる。壊れていない場合は、修正しないでください!
iProgram

4
必要なときにシステムが再作成されると考えて、vmフォルダ全体を削除しましたが、それは起こりませんでした。システムがスワップファイルを使用する場合、フリーズして再起動しました。これで問題が解決することを期待して、vmフォルダーとスワップファイルを作成しました。だから、それを削除しないでください!
ラーフルタクール

2

(あなたの場合のように)スペースを取りすぎていない場合は、そのままにします。プライベートフォルダ内のものは、台無しにされるものではありません。Macが構築されているUNIXシステムの一部であり、表示されるべきではありません。フォルダーをprivateと呼ぶ理由です。しかし、ソフトウェアは、あなたが使用したように、それを目に見えるようにしました。これは良いことではありません。

そうは言っても、このスリープイメージは問題なく削除できますが、お勧めしません。これらの4GBが本当に必要な場合は、映画、音楽などにハードドライブを使用し、システムファイルではなく、独自のファイルでスペースを節約してください。


3
次回Macがスリープ状態になると、スリープイメージが再作成されるため、削除する意味はありません。@sean:RAMを増やさないでください。sleepimageファイルはシステムにインストールされているRAMと同じ大きさになります。
ダンバレット

ラップトップに残っているのは15 GBのみで、/ private / var / vmは使用可能な約12 GBを占有しています。今すぐに緊急ではありませんが、検討しています。
-user3932000

2

トップアンサーへの追加のメモ:

スリープイメージを無効にするかアクティブにするかを選択できますが、ウェイクアップ後に強制的に保持することができるので、私は私の好ましい解決策のための汚い小さなトリックを見つけました:スリープイメージを持っているが、ウェイクアップ後に削除してディスクスペースを解放します あなたが私のような小さなSSDで常に2〜6 GBの空き容量を持ち続ける人なら、これがあなたの解決策かもしれません。

sleepimageを.Trashフォルダーに向けて、起動後にごみ箱を空にするだけです。

sudo pmset -a hibernatefile ~/.Trash/sleepimage

Macで1つのアカウントのみを使用する場合、これは実行可能なソリューションにすぎません。別のアカウントからスリープファイルを簡単に削除することはできません(他のアカウントに十分な権限がある場合はもちろんできますが、ゴミ箱をクリックするだけではないため、簡単ではありません)。

何らかの理由で工場出荷時の設定に戻したい場合は、単に入力します

sudo pmset -a hibernatefile /var/vm/sleepimage

(注:私は10.8を使用していますが、これは他のバージョンで変更される可能性があるため、確認man pmsetしてください。)


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.