探検


【Bash】Windows Subsystem for Linux【WSL】8

■ このスレッドは過去ログ倉庫に格納されています
2020/05/29(金) 17:58:21.78ID:N31NEDSz
ついにWSL2が登場したぜー。こりゃ完全にLinuxだ。ヒャッハー!WSL最高!開発にLinuxは使わねぇー。Windowsで開発してLinuxは動かすだけや!

WSL2アーキテクチャ
https://www.atmarkit.co.jp/ait/articles/1906/14/news019.html

WSL 2では、仮想マシン環境が起動し、bashがコマンドを受け付けるまで2秒程度という速度で起動できる。
このため、コマンドプロンプトなどからwsl.exeなどを使ってbashコマンドを処理する時間は、
現在のWSL 1とほとんど変わらない。また、本物のLinux実行環境であるため、
これまで正しく動作できなかったアプリケーション、例えばコンテナシステム(Dockerなど)や
ユーザーファイルシステム(FUSEなど)も動作させることができる。その上で、現在のWSL 1と同等の機能と使い勝手を実現するという。

WSL 2はWSL 1を置き換えずに併存する
 WSL 2が登場したからといって、WSL 1は廃止になるわけではなく、引き続き利用可能である。

ファイル共有プロトコル「9P」でWSL 1との互換性を確保
 このように、WSL 2とWin32環境の間のファイル共有は、どちらも9Pを使うことになる。
 また、WSLからWin32プログラムを起動する「Win32相互運用性」では、最初にWSL側で、
実行ファイルを判別する必要がある。具体的には、実行ファイル先頭のマジックナンバー
(Win32ではMZ)を見て、LinuxのELF64か、Win32の実行ファイルなのかを判断する。

【Bash】Windows Subsystem for Linux【WSL】7
https://mao.5ch.net/test/read.cgi/linux/1579395785/
2020/05/29(金) 18:24:48.76ID:jgC5/wCu
前スレ997です
>>998
すみません997のwsl --set-default-versionはtypoで
ちゃんとwsl --set-version 2しました
wsl -l -vでVERSIONが2って出ます
$ dpkg -l | grep linux-image しても何も出らんし(当然か)
kernelはどこあるんでしょこれ?
2020/05/29(金) 18:45:24.92
>>1
Windows10 WSL2にLinux居城を爆誕させる 5/25
https://qiita.com/v2okimochi/items/f53edcf79a4b71f519b1

今北産業向け
2020/05/29(金) 18:59:14.45ID:vxnoX4OY
前スレでWSL2の使用メモリ云々言ってる人達ってこういうの読まないんだろうな
https://docs.microsoft.com/ja-jp/windows/wsl/wsl-config#configure-global-options-with-wslconfig
2020/05/29(金) 19:55:16.31ID:N31NEDSz
> memory size Windows 上の合計メモリの80% WSL 2 VM に割り当てるメモリの量。

本当に80%だとしたら4GBだと3.2GB
32GBだったら25.6GBなのでおかしなことになる。
これは最大使用可能メモリであって、実際の使用メモリではないだろう
2020/05/29(金) 20:10:11.99
WSL2が使えるメモリ量を制限する
初期設定だと、WSL2で大量のメモリを消費した時にWindows本体がメモリ不足で詰む。

cf. WSL 2 consumes massive amounts of RAM and doesn't return it
https://github.com/microsoft/WSL/issues/4166

Windows側の ~/.wslconfigを作って、以下の設定をする。
たとえばメモリを7GBまで、スワップを8GBまでにする。

~/.wslconfig
[wsl2]
memory=7GB
swap=8GB

cf. https://github.com/microsoft/WSL/issues/4166#issuecomment-622318211

もちろん必要な時には多くのメモリを使わせたい (極端に制限すればWSL2が低スペと化す :innocent: )ので、ホストマシンが耐えられるギリギリを模索していくことになりそう。
2020/05/29(金) 20:10:31.70ID:qpKtmwjM
>>2
sshfs普通に使えたぞ?

WSL2の構成を思い出してみよう。
ディストリごとに仮想マシンがあるのではない
WSL2の仮想マシンが一つあるだけ。

UbuntuなどのディストリはWSL2の仮想マシンの中のコンテナとして動いている。
つまりはUbuntu(コンテナ)の中にfuseドライバを組み込む必要はないし組み込めない

WSL2ではすでにカーネルの中にfuseドライバは組み込まれている。
だからsshfsをすぐに使える
2020/05/29(金) 20:11:41.94ID:qpKtmwjM
>>6
> 初期設定だと、WSL2で大量のメモリを消費した時にWindows本体がメモリ不足で詰む。
スワップアウトするだけやろ?
そんなもん、あるアプリが大量のメモリを消費したのと何も変わらんよ
2020/05/29(金) 20:16:18.37ID:OAFLi8bo
「Windows 10 May 2020 Update」でブルースクリーン発生やBluetooth、IMEの不具合wwwww
https://pc.watch.impress.co.jp/docs/news/1255346.html
2020/05/29(金) 20:57:14.19ID:jgC5/wCu
>>7
そんなこと言ったって俺のDebianでは使えないんだもん
CONFIG_FUSE_FS=y
を確認して自分でビルド作り直した
でもsshfsすると同じ
modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.19.121-microsoft-standard/modules.dep.bin'
modprobe: FATAL: Module fuse not found in directory /lib/modules/4.19.121-microsoft-standard

modules.dep.binって何やろ?
2020/05/29(金) 21:37:51.50ID:jgC5/wCu
>>7
ubuntuには/lib/modulesあります?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況