sudo purge
助けにならなかった場合、動的ページャーを無効にしてみてください、例えば
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist
警告:これにより、Mac OS Xのページング機能が完全に無効になるため、RAMが大量にあるが、Macはまだスワップファイルを使用している場合にのみ使用してください。システムにSIP保護がある場合は、まず無効にする必要があります(推奨されません)。
また、から手動でスワップファイルを削除することができ/private/var/vm/
、例えば
sudo rm -f /private/var/vm/swapfile*
その後、コンピューターを再起動します。
出典:Mac Virtual Memory –内容、スワップの場所、およびスワップを無効にする方法
メモリスワッピングを完全に無効にするには、などに設定vm_compressor
します1
。
sudo nvram boot-args="vm_compressor=2"
または4
デフォルトに設定するには、他の値を参照してください(からvm_pageout.h
):
#define VM_PAGER_DEFAULT 0x1 /* Use default pager. */
#define VM_PAGER_COMPRESSOR_NO_SWAP 0x2 /* In-core compressor only. */
#define VM_PAGER_COMPRESSOR_WITH_SWAP 0x4 /* In-core compressor + swap backend. */
#define VM_PAGER_FREEZER_DEFAULT 0x8 /* Freezer backed by default pager.*/
#define VM_PAGER_FREEZER_COMPRESSOR_NO_SWAP 0x10 /* Freezer backed by in-core compressor only i.e. frozen data remain in-core compressed.*/
#define VM_PAGER_FREEZER_COMPRESSOR_WITH_SWAP 0x20 /* Freezer backed by in-core compressor with swap support too.*/
現在の値を確認するには、次を実行します。
sysctl vm.compressor_mode
通常に戻すには、次の方法でブート引数を削除します。
sudo nvram -d boot-args
NVRAMを再起動してリセットします。
参照:Yosemiteのvm_compressor = VM_PAGER_DEFAULTは、物理メモリがいっぱいのときにフリーズを引き起こした