日記

日本語の勉強のためのブログ

WSL1でCeforeをインストールする際にnet.core.rmem_defaultが存在しないエラー

タイトルに記したエラーの原因を尋ねられ,解決したので投稿.

1. 環境

  • Windows10
  • WSL1
    • Ubuntu20.04

2. 問題

https://qiita.com/Amayarielu/items/b9e9fbe498b26baa7d53 に沿ってCeforeをインストールし,バッファチューニングを行う際にnet.core.rmem_defaultが存在しないとエラーが出るとのこと.

確認したところ,/proc/sys/net/core/rmem_defaultどころか,/proc/sys/net/core以下のファイルのほとんどがごっそり抜けてしまっている.

※なお,仮想環境上のUbuntuでは,それらのファイルは普通に存在していた.

3. 解決法

WSL2にアップデートする.

3.1 詳しい説明

https://docs.microsoft.com/ja-jp/windows/wsl/compare-versions を見ればわかるように,WSL1では完全なLinuxカーネルを使用することができない.

WSL 1は、Linux実行環境をLinuxカーネルではなく、LXCore と呼ばれる「サブシステム」が作り出しており、カーネルへのファンクションコールをWindowsカーネルへのファンクションコールに変換して動作している。
引用元: https://atmarkit.itmedia.co.jp/ait/articles/1906/14/news019.html

おそらくこれが原因で,/proc/sys/net/core/rmem_defaultが存在しなかったのだろうと思われる.

そのため,WSL2にアップデートし,完全なカーネルが使用可能になれば,そうしたファイルも参照可能になる.