WSLでは /etc/wsl.conf で次を記述すると、systemd が利用可能になりますが、その前に、電源管理に関するデーモン acpid を無効化するようにしてください。
(既に systemd を有効にしていた場合も、acpid を無効化してください)
[boot]
systemd=true
そうしないと、/var/log/syslog に次のような、acpid のメッセージが出てCPUリソースを消費し、WSLの動作が非常に遅くなります。
(2909227 time の数字の部分はまちまちです)
message repeated 2909227 times: [ Condition check resulted in ACPI event daemon being skipped.]
WSLでは acpid は動作させても意味のないデーモンなので、無効化してしまいましょう。
acpid を無効化するには、次を実行します。
sudo ln -s /dev/null /etc/systemd/system/acpid.service
sudo ln -s /dev/null /etc/systemd/system/acpid.path
その後、WSL を再起動します。再起動は次の記事を参照してください。
WSL を再起動するには(wslコマンド) – パソコン鳥のブログ
WSL を再起動するには – パソコン鳥のブログ
参考
systemd running with 100% and does not respond · Issue #8867 · microsoft/WSL · GitHub
コメント