んじゃ試してみるか。 https://t.co/gMrUzvAk8G
— 48 (@bleu48) 2020年8月21日
Windows 2004を入れずに試せるってことなのでやってみました。
WSL1(区別するために敢えてこう呼ぶ)は出た時から普段使いなので,比較として気が付いた点だけメモしておきます。
技術的に変わったところ。
WSL1:入出力を偽装してLinuxのAPIを搭載したWindowsカーネル
WSL2:仮想マシン技術で動く実Linuxカーネル(ただしカスタム品)
使ってすぐに気づいたところ。
WSL1は入出力が遅い。ファイルIO,ネットワークIO,大容量メモリの確保など。
WSL2は上記の弱点は相当克服されているが仮想マシンなので100%のマシンパワーは期待できないであろうと思ったが90%くらいは行けそうです。
それでも数値解析などではWSL1しか選択肢はないですね(想定通り)
WSL2はメモリの確保は早いが解放が遅いようです。実行プロセスが解放した後に仮想マシンが不要と判断してWindowsに返すまでが遅いのではないかと思います。
これに対応して仮想マシンを即落とすコマンドが追加されて「wsl --shutdown」「wsl -t ***」です。
また,.wslconfigというファイルを設定すれば仮想マシンが使用するリソースの上限を設定できます。
そんな感じですね。
CUDAはPreveiw版が要るらしいので試してません。そのうち一般に落ちてから対応しようかな。
おまけとしてはWSL1のファイルシステムが謎システムだったのに対して,WSL2はvhdxらしいです。
個人的には/mnt以下を中心に使うので比較的どうでもいいです。
文字コードはUTF-8ですが,改行コードだけどうしようか迷ってます。
インストールイメージ毎にWSL1とWSL2を混在させられるようですが,リソース消費を考えると何に使うのか今のところあまり思いつきません。
過渡期の謎技術として後のベテランエンジニアあるあるになりそうなネタかと思います。(もちろん実用的で便利ですよ)
---
追記:
既存の作業環境をひとつ WSL2 にしてみたが、Windows ファイルシステムへのアクセスだけは遅くなった。なるほどそう説明されていた https://t.co/wHrwgzXd3G
— にしもつ (@24motz) 2020年8月21日
そりゃそうだなってオチ。