
あまりにも多くのメモリを消費するゲームをWine(WineHQ)で実行すると、何かを交換する前にRAMメモリがいっぱいになり、次のエラーが発生する可能性があります。
"DxvkMemoryAllocator: メモリ割り当てに失敗しました"
これが起こらないようにする方法はありますか?
dxvkで修正できないという内容を読みました(関連リンクを見つける必要があります)...
答え1
このメッセージに触れた人には、実際には2つの可能性があります。
あなたの記憶力は小さすぎます。 DXVKのためのスペースを確保する必要があります。
これは通常、競合が発生したときにシステムメモリが使用されている+バッファ+キャッシュでいっぱいになっている場合に発生します。
次のコマンドを実行して、DXVKに常に1GBの空き容量があることを確認してください。
echo $(( 1024 * 1024 )) | sudo tee /proc/sys/vm/min_free_kbytes
アプリケーションは32ビットで、wineはデフォルトで2 GBのスペースのみを割り当てます。
これは通常、コンピュータに空きメモリがありますが、アプリケーションがまだクラッシュしている場合に発生します。
ワインが2 GB〜4 GBのスペースを割り当てるように追加または許可するWINE_LARGE_ADDRESS_AWARE=1
には、スタートアップオプションを編集する必要があります。PROTON_LARGE_ADDRESS_AWARE=1
答え2
私がこの問題を解決したのは、次のことを実行することでした。
stress-ng --vm-bytes 5000M --timeout 15 --vm-keep --vm 1 --verbose
RAMが6GBしかないからです。
しかし、その前に、WineゲームやChromiumなど、メモリを大量に消費する他のアプリケーションにSIGSTOP信号を送信することをお勧めします。
このコマンドは、dxvkエラーが発生しないようにRAMの大部分をスワップに移動させるようにします。
それ以前は、ワインがRAMの100%ではなくても、ほぼ99%を満たしていました。
RAM使用量が高すぎるたびにこれを繰り返す必要があるため、スクリプトを作成することをお勧めします。 :)