私は、Windows 10 Pro (ビルド 19041.746) 上の WSL2 で、計算負荷の高いプロセス (大規模なプログラムのコンパイルとリンク) を実行してきましたが、これを行うとグラフィカル Windows プログラムの速度が著しく低下し、場合によっては 1 分以上完全に停止しているように見えます。
私は、並列処理を最小限に抑えるために、これらのプロセスを実行する make ジョブの -j オプションを 1 に設定しており、Linux 内でこれらのプロセスの優先度を下げるために「nice」も使用しています。これにより、WSL2 で他の Linux プログラムを同時に実行できるようになりますが、Windows プログラムへの影響は軽減されないようです (Linux スケジューラは Windows ホストで何が起こっているかを「知らない」と思われるため、これは当然のことだと思います)。
Windows タスク マネージャーに入ると、wsl.exe のインスタンスが 2 つ、wslhost.exe のインスタンスが 3 つ実行中であることがわかりました (2 つのタブが開いている 1 つのターミナルに対応)。すべての優先度を「低」に設定し、ターミナル タブの 1 つで Linux ジョブを再起動しましたが、せいぜい状況がわずかに改善しただけでした。これまでに行った操作によって Linux プログラムがそれほど遅くなっていないように見えることを考えると、Linux プログラムが引き続き進行する間に Windows のパフォーマンスを回復する余地があるように思われます (理にかなった範囲で遅くなってもかまいません)。しかし、それを実現するために何かできることはありますか?