Mac OS Xでディスクスワップファイルのサイズを制限する方法はありますか?


8

OS Xでは、RAMを使い果たすたびに、システムはディスクに喜んでスワップするようです。これは、スワップアウトされたメモリが最終的に私のドライブをいっぱいにするため、簡単に災害になります。2GBのRAMと64GBのディスクを搭載したMacbook Airでは、これは大きな問題です。

これを解決するために、10分ごとにパージコマンドを実行するcrontabを作成しました。スワップが増大するのを最小限に抑え、システムがスワップするたびにシステムの応答性を高めます。スワップを無効にしようとしましたが、信頼性にはほど遠いです。

この動作を設定できますか?より良い解決策はありますか?

OSXのディスクスワップが成長を停止することはありません

$ crontab -e

*/10 * * * * purge

sysdiagnose起動時に実行し、通常のアプリを起動した後、最後にスワップが実行されていることに気付いたときに再度実行します。一度に数か月間実行するMacがあり、ここに示すようなスワップのプレッシャーはありません。システムがスワップするのは、プログラムがメモリを要求し、リークし、決して解放しない場合のみです。おそらくいくつかのリークがあります。その重大度は、スワップの各ギグをディスクに蓄積するのに必要な時間の長さによって測定されます。
bmike

そして、どうしてもMacを頻繁に再起動してください。システムのパフォーマンスが低下しているように思われる場合は、再起動してください。最新のメモリ管理により、これは以前ほど必要ではなくなりましたが、再起動しても害はありません!

その1つのシェルスクリプトに含まれる情報の量と、それが出力するすべての情報を今でも楽しみます。使用法を確認することに特に興味があるプログラムがある場合は、必ずPIDをスクリプトに渡してください。
bmike

11個のスワップファイルのサイズの合計は異常ではありません。はるかに大きな内部ハイブリッドドライブを搭載したMacBookPro5,2の場合、32 GBのパーティションhibernatefile(8.59 GB)とスワップファイルを作成しました。ほとんどの場合purge、ディスクアクティビティが増加するため、最後の手段として扱います。
グラハムペリン

回答:


4

はい、を設定できますdynamic_pagerが、ほとんどの場合、それを無効にしてメモリ不足エラーが避けられないためにどのプログラムがクラッシュするかを確認する方が簡単です。

Mac OS Xでスワップファイルを無効にするのはなぜですか?

システムで使用できるよりも多くのRAMを使用するように不注意に調整した場合に、仮想化やAdobe Suiteなどの独自の仮想メモリ/キャッシュ/ページングシステムを実装するプログラムに注意してください。ファイルシステムに暴走スワップ割り当てのあるMacを見つけたとき、彼らは私の調査リストの最初にいる傾向があります。

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