Docker DesktopのCPUとメモリ設定はどこ?

Docker Desktopで分からないことがあります。Docker Desktopの質問もよいでしょうか。
以前はCPU数やメモリを設定する場所があったように記憶していますが、最近設定を見直そうとしたらメニューから消えていました。
Docker Desktopを使うとパソコンのファンがうるさくなるので、静かにさせたいです。
設定はどこで確認できますか。変更もできますか。
誰か知っていましたら教えてください。

「いいね!」 1

@lin5 さん、はじめまして!ようこそ! :tada::tada::tada:

Docker Desktopで分からないことがあります。Docker Desktopの質問もよいでしょうか。

Docker Desktop も大丈夫です!
(ドキュメントで書いてある範囲や、私が知っている範囲になります)

以前はCPU数やメモリを設定する場所があったように記憶していますが、最近設定を見直そうとしたらメニューから消えていました。

そうですね、初期の Docker Desktop は Windows の Hyper-V という仕組みを使っていました。今も Hyper-V で Docker Desktop を使っている場合は、「Settings > Resources」のメニューで、メモリや CPU など設定項目が出てきます。

あるいは、 macOS 版であれば、この画像のように設定項目が出ます。

Windows 版の場合、おそらく、このような表示になっていて、設定箇所が見当たらないのではないでしょうか。

これは、 WSL ( Windows Subsystem for Linux ) を Windows 上で有効にしている場合に表示されます。

よく見ますと、画像の中で、このように書かれています。

You can configure limits on the memory, CPU, and swap size allocated to WSL 2 in a .wslconfig file. (WSL 2 でメモリ、CPU 、スワップ容量の制限を割り当てる設定は、 .wslconfig ファイルで行います)

WSL では、Docker Desktop for Windows でリソース設定ができません。

そのため、 WSL2 のドキュメント にありますように、 .wslconfig ファイルの設定を変更し、リソースを割り当てる必要が出てきます。

以降の説明では、デフォルトの WSL2 設定を前提としています。

この .wslconfig ファイルは、デフォルトでは C:\Users\ユーザ名\.wslconfig にあります。エディタか何かで開くと、設定項目が表示されます。

ちなみに、私の PC では、このように表示されました。

[wsl2]
#kernel=C:\\temp\\myCustomKernel
memory=4GB # Limits VM memory in WSL 2 to 4 GB
processors=2 # Makes the WSL 2 VM use two virtual processors
swap=0

この中でリソースに関係するのは

  • memory →メモリ 4GB
  • processors →コア数 2つ
  • swap0 (スワップしない)

このような意味があります。

.wslconfig の細かなパラメータを調整したい場合には、ドキュメントの こちら をご覧ください。

なお、この .wslconfig ファイルの設定内容を変更するには、WSL の再起動が必要になります。

  1. Docker Desktop を終了する
  2. コマンドプロンプト等で wsl --shutdown を実行する
  3. Docker Desktop を手動で起動しなおす(このタイミングで、WSL 用の環境も自動的に起動します)

あるいは、手っ取り早く PC を再起動しても大丈夫です。

Docker Desktopを使うとパソコンのファンがうるさくなるので、静かにさせたいです。

おそらく、CPU の負担が大きいか、メモリの割り当てが大きくて、PC 側でメモリが足りなくなってスワップが発生しているのかもしれません。

メモリやコア数の指定を変更して、変わるかどうか試してみてはいかがでしょうか :smile:

「いいね!」 3

WSL2を使っています。
.wslconfigファイルを調べてみます。
ありがとうございます。