Mac OS Xで最大スワップスペースを増やす方法は?

Mac OS Xで最大スワップスペースを増やす方法は?

Mac OSの場合、次のコンソールログエントリはインスタンスの例です。

2015年9月25日午後7時08分40.000カーネル[0]:低スワップ:pid 6202終了(huffgrp)

64GBのメモリを割り当てて使用すると、計算が正常に機能し、適切な時間がかかります。私のMacには32GBのRAMと素晴らしいハードドライブスペースがあります。また、8GBのRAMを搭載した他のMacでもこれを試しました。その Mac では、64 GB のコンピューティングも正常に実行され、さらに時間がかかりましたが、128 GB のコンピューティングは同じ方法でカーネルによって中断されました。

しかし、malloc()どんなに多くのスペースを要求してもエラーは返されません。カーネルは、実際に多すぎるメモリを使用している場合にのみプロセスを終了し、ハードドライブに大量のスワップを発生させます。

したがって、64 GBから128 GBの間の秘密のスワップスペース制限があるようです。

私の質問は:より多くのスワップスペースを許可するようにカーネルをどのように再設定できますか?有望に見えるファイルが見つかりまし/System/Library/LaunchDaemons/com.apple.dynamic_pager.plistたが、その中にパスワードが表示されませんでした。マニュアルページには、dynamic_pagerスワップファイルの名前と場所を設定することがすべてであることがわかります。同じマニュアルページの以前のバージョンには、-S生成されたスワップファイルのサイズを設定するオプションが文書化されていました。 160GBのスワップファイルを要求しましたが、役に立ちませんでした。各スワップファイルはまだ1 GBで、プロセスはまだカーネルによって終了します。

ベストアンサー1

あなたが要求した答えではありませんが、適切なサイズのファイルを直接作成してプロセスにマップし、このアドレス空間で計算を実行すると、スワップファイルと同じ効果があり、所有権が保証されます。使用可能なRAM/スワップを置き、他のプロセスと競合するのではなく、スペースを解放します。

データをどのくらい頻繁に上書きするかによっては遅くなる可能性がありますが、移植性は高くなければなりません。

おすすめ記事