【Windows】リナックスの実行基盤で使用するメモリの最大量を設定ファイルで制限する手順

【Windows】リナックスの実行基盤で使用するメモリの最大量を設定ファイルで制限する手順
🛡️ 超解決

Windows Subsystem for Linux 2、通称WSL2は、Windows上でLinux環境を快適に利用できる強力な機能です。

しかし、WSL2が大量のメモリを消費し、Windows全体の動作が遅くなる事態に直面するビジネスマンも少なくありません。

この記事では、WSL2が使用するメモリの最大量を設定ファイルで制限する具体的な手順を解説し、WindowsとLinuxの安定した共存環境を構築する方法を提供します。

【要点】WSL2のメモリ使用量を最適化する設定手順

  • WSL2のシャットダウン: 設定変更を安全に適用するために、実行中のWSL2インスタンスを停止する。
  • .wslconfigファイルの作成: ユーザープロファイルフォルダにWSL2の仮想マシン設定をカスタマイズするファイルを作成する。
  • memoryオプションの設定: WSL2が使用できる最大メモリ量を指定し、Windowsの安定動作を確保する。

ADVERTISEMENT

WSL2のメモリ消費と制限が必要な理由

Windows Subsystem for Linux 2、WSL2は、Windows上でLinuxの実行環境を提供する機能です。軽量な仮想化技術を利用するため、従来の仮想マシンよりも高速で効率的に動作します。しかし、デフォルト設定では、WSL2はホストOSであるWindowsの利用可能メモリの最大80%を自動的に割り当てて使用します。これは、Linux環境でメモリを多く必要とする処理を実行する場合に、Windows側のリソースが不足し、システム全体のパフォーマンスが低下する原因となる場合があります。

WSL2のメモリ管理の仕組み

WSL2は、Hyper-V仮想化プラットフォーム上で動作する専用の軽量仮想マシンです。この仮想マシンは、Windowsの物理メモリを動的に割り当てて使用します。初期状態では、多くのメモリを消費しない場合でも、必要に応じてメモリを拡張し、最終的には利用可能メモリの大部分を占める可能性があります。この挙動は、Linux環境での作業効率を高める一方で、Windows上で同時に実行される他のアプリケーションの動作に影響を与えることがあります。

メモリ制限のメリットと前提条件

WSL2のメモリ使用量を制限することで、Windowsの安定動作に必要なリソースを確保し、両環境のパフォーマンスバランスを最適化できます。特に、メモリ容量が限られたPCや、Windows上で複数の重いアプリケーションを同時に使用する場合に有効な手段です。この設定を行うには、Windows 11またはWindows 10バージョン2004以降がインストールされており、WSL2が有効化され、一つ以上のLinuxディストリビューションが導入されている必要があります。

お探しの解決策が見つからない場合は、こちらの「Windowsトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

WSL2のメモリ最大量を設定する手順

WSL2のメモリ使用量を制限するには、ユーザープロファイルフォルダに「.wslconfig」という名前の設定ファイルを作成し、特定の記述を追加します。このファイルは、WSL2の起動時に読み込まれ、仮想マシンの設定をカスタマイズします。

  1. WSL2インスタンスのシャットダウン
    まず、コマンドプロンプトまたはPowerShellを開きます。管理者権限は不要です。
    wsl --shutdown
    と入力し、Enterキーを押します。これにより、現在実行中のすべてのWSL2インスタンスが停止し、設定変更を安全に適用できる状態になります。
  2. ユーザープロファイルフォルダへの移動
    エクスプローラーを開き、アドレスバーに%UserProfile%と入力してEnterキーを押します。これにより、現在のユーザーのプロファイルフォルダ、通常は「C:\Users\<ユーザー名>」に移動します。このフォルダに「.wslconfig」ファイルを作成します。
  3. 新しいテキストファイルの作成
    ユーザープロファイルフォルダ内で右クリックし、「新規作成」から「テキスト ドキュメント」を選択します。ファイル名は一時的に「wslconfig.txt」などとします。
  4. 設定内容の記述
    作成したテキストファイルを開き、以下の内容を記述します。メモリの最大値は、ご自身のPCの総メモリ容量と、Windowsで通常使用するアプリケーションのメモリ消費量を考慮して決定してください。ここでは例として、4GBに制限する場合を示します。
    [wsl2]
    memory=4GB

    「4GB」の部分は、「4096MB」のようにメガバイト単位で指定することも可能です。また、「8GB」や「2048MB」など、任意の値を設定できます。

  5. ファイル名の変更と保存
    記述が完了したら、ファイルを「.wslconfig」という名前で保存します。ファイル名を変更する際、「拡張子を変更するとファイルが使えなくなる可能性があります。」という警告が表示される場合がありますが、「はい」をクリックして続行します。Windowsの設定によっては、拡張子が表示されていないことがあります。「表示」タブの「表示/非表示」グループにある「ファイル名拡張子」にチェックを入れると拡張子が表示されます。この設定を確認し、「.wslconfig.txt」ではなく「.wslconfig」になっていることを確認してください。
  6. WSL2の再起動と確認
    コマンドプロンプトまたはPowerShellで、再度wslと入力し、Enterキーを押してWSL2を起動します。または、任意のLinuxディストリビューションを起動します。
    設定が適用されたかを確認するには、Linux環境内でfree -hコマンドを実行し、「total」のメモリ量が設定した値に近いことを確認します。Windows側から確認する場合は、タスクマネージャーの「パフォーマンス」タブを開き、「メモリ」の項目で、WSL2関連のプロセスが消費しているメモリ量を監視できます。

設定時の注意点とよくあるトラブル

WSL2のメモリ制限設定は比較的簡単ですが、いくつかの注意点や、思わぬトラブルに遭遇する場合があります。ここでは、それらの対処法を解説します。

.wslconfigファイルが認識されない場合

設定ファイルを作成したにもかかわらず、WSL2のメモリ制限が適用されない場合、ファイル名や保存場所が間違っている可能性が高いです。ファイルは必ずユーザープロファイルフォルダ直下、例えば「C:\Users\<ユーザー名>\.wslconfig」として保存する必要があります。また、Windowsのファイル表示設定によっては、ファイル拡張子が隠れており、「.wslconfig.txt」という名前になってしまっていることがあります。エクスプローラーの「表示」タブで「ファイル名拡張子」にチェックを入れ、正確なファイル名になっているか確認してください。

メモリを制限しすぎるとWSL2が不安定になる場合

WSL2に割り当てるメモリ量が少なすぎると、Linux環境内で実行するアプリケーションが正常に動作しない、または起動しないことがあります。例えば、Dockerなどのコンテナ環境や、大量のデータ処理を行うスクリプトは、予想以上にメモリを消費します。WSL2の用途に合わせて、適切なメモリ量を設定することが重要です。もし不安定になった場合は、.wslconfigファイルのmemory設定値を増やして再度試してください。徐々に調整することで、最適なバランスを見つけられます。

設定変更後にWSL2が起動しない場合

.wslconfigファイルに記述ミスがある場合、WSL2が正常に起動しないことがあります。例えば、誤った構文や、許可されていないオプションを記述すると、エラーが発生します。この場合、まずコマンドプロンプトでwsl --shutdownを実行し、WSL2を完全に停止させます。その後、.wslconfigファイルを開き、記述内容が正しいか確認してください。特に、[wsl2]というセクションヘッダーと、memory=という記述に誤りがないか注意深く確認します。修正後、再度WSL2を起動して動作を確認します。

Windows 10での操作の違い

Windows 10でのWSL2のメモリ制限設定手順は、Windows 11と基本的に同じです。Windows 10のバージョン2004以降であれば、この機能が利用できます。エクスプローラーのインターフェースや設定画面のレイアウトに若干の違いはあるものの、.wslconfigファイルの作成場所や記述内容は共通です。Windows 10ユーザーも、上記の手順に沿ってWSL2のメモリを制限できます。

ADVERTISEMENT

WSL2のその他の設定項目との比較

項目 memory processors swap
機能 WSL2仮想マシンに割り当てる最大メモリ量を指定する WSL2仮想マシンに割り当てる仮想プロセッサの数を指定する WSL2仮想マシンに割り当てるスワップファイルサイズを指定する
単位 GBまたはMBで指定 整数値で指定 GBまたはMBで指定
デフォルト 利用可能メモリの最大80% 物理プロセッサの数まで 物理メモリの25%または16GBのいずれか小さい方
設定例 memory=4GB processors=2 swap=2GB

まとめ

この記事では、WSL2が使用するメモリの最大量を設定ファイルで制限する手順を解説しました。

.wslconfigファイルを適切に設定することで、Windowsの動作を安定させながら、Linux環境を快適に利用できます。

今回学んだmemoryオプションの設定を活用し、ご自身のPC環境に最適なWSL2リソース配分を構築してください。

また、必要に応じてprocessorsswapなどの他の設定も調整することで、より高度なカスタマイズが可能です。

💻
Windowsトラブル完全解決データベース 起動不能、更新の不具合、動作が重い、設定の消失など、Windows 10/11のあらゆるトラブル解決手順を網羅しています。

ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。