X



トップページLinux
1002コメント324KB
【Bash】Windows Subsystem for Linux【WSL】7
レス数が1000を超えています。これ以上書き込みはできません。
0001login:Penguin
垢版 |
2020/01/19(日) 10:03:05.36ID:6YirC2HC
ヒャッハー!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】6
https://mao.5ch.net/test/read.cgi/linux/1560665525/
0990login:Penguin
垢版 |
2020/05/29(金) 14:05:32.65ID:zHiKzAm0
>>987
WSL2はより完全なLinuxに寄せた分、Windowsファイルシステムとの
親和性が落ちたのかな
0992login:Penguin
垢版 |
2020/05/29(金) 15:20:44.72ID:TfuwHnZ3
>>988
搭載メモリに対する割合も考慮して確保されてるみたいだけどね
うちだと64GB機で1.2GB程度、16GB機で0.5GB程度
0993login:Penguin
垢版 |
2020/05/29(金) 15:22:32.85ID:s2MeZ2Ij
WSL2はLinuxカーネル側でキャッシュ持ってるからWSL1よりメモリ喰うのか
0994login:Penguin
垢版 |
2020/05/29(金) 17:15:56.11ID:N31NEDSz
>>988
> 1.5GBも食ってたvmmemが
> メモリ16GB以上ある人用だなこりゃ

その理屈はおかしい
vmmemが1.5GB(俺は1.25GBだけど)でUbuntuが動いてるんだから
OSが使用しているメモリも含めて4GB以上用でしょ?

俺は4GBのメモリの仮想マシン(HyperV)にWindows 10の
Insider Preview入れてるけど3.3GBのメモリを使用してる。
0995login:Penguin
垢版 |
2020/05/29(金) 17:19:22.60ID:N31NEDSz
>>990
親和性は関係なくて、仮想マシンを経由した通信で
ファイル共有することになるから、Windows⇔WSL間の
ファイルシステムのパフォーマンスは落ちるという話だよ

その代わりにLinuxカーネルを使用する大部分の処理は
WSL内に閉じた処理になるからパフォーマンスがアップする

まあトレードオフだよね。今後改善の余地はあると思うけど
WSL1とWSL2の傾向はこのまま変わらないでしょう
0996login:Penguin
垢版 |
2020/05/29(金) 17:23:08.55ID:N31NEDSz
>>993
WSL1が使用してるメモリなんて簡単にはわからないでしょ?
特定のプロセスが処理しているわけじゃなくて
OSのAPIへの変換レイヤーなんだから

まあ軽量とは言え仮想マシンが動いていて別のLinuxカーネルが
起動するわけだから、その分メモリ使用量が増えるのは当たり前だけど

でも複数のディストリを起動してもLinuxカーネルは一つで
WSL側で終了して使用しなくなったメモリはWindows側に返すわけだから
単なる仮想マシンを使うよりか、メモリ使用量は大幅に減る(効率化する)だろうね
0997login:Penguin
垢版 |
2020/05/29(金) 17:24:12.63ID:jgC5/wCu
Win10 2004がリリースされたのでアップグレードしてwsl->wsl2したのだがfuseが動きません
sshfs使うと以下のようにエラーをはきます
modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.19.104-microsoft-standard/modules.dep.bin'
modprobe: FATAL: Module fuse not found in directory /lib/modules/4.19.104-microsoft-standard
/lib/modulesはありません
wsl --set-default-version 2以外に(linux側で)何かすること有りましたっけ? Debianです
0998login:Penguin
垢版 |
2020/05/29(金) 17:40:40.51ID:9HQh6WUz
>>997
それ、既存のはv2にならないと思うが…
wsl -l -vで一覧とバージョンが見られるから
wsl --set-versionで変換だね
0999login:Penguin
垢版 |
2020/05/29(金) 17:42:31.24ID:N31NEDSz
> '/lib/modules/4.19.104-microsoft-standard/modules.dep.bin'

microsoftって書いてるからどう見てもLinuxカーネル使ってないやんw
つまりそれはWSL1だ
1000login:Penguin
垢版 |
2020/05/29(金) 17:53:23.13ID:9HQh6WUz
あれ?
4.19.104だとWSL2のカーネルだな…
(MSがビルドしてるカスタムカーネルだからか-microsoft-standardは付いてる)

fuseはカーネルモジュールじゃなくてスタティックリンクされてるみたいだから、Ubuntuだとmodprobe無しでもsshfs使えたよ
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 131日 7時間 50分 18秒
レス数が1000を超えています。これ以上書き込みはできません。

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