18.3K Views
March 31, 21
スライド概要
[2021:03:31 Studist Lightning Talks #27]
WSL2 やってみた
*ちなみにさらに使ってるとメモリ16GBのマシンだとメモリが枯渇してめっちゃ辛い感じになった
フロントエンジニア
WSL2運用してみた Macと比較 中島 凜 株式会社スタディスト 2021/03/31 Studist Lightning Talks #27
自己紹介 • 販クラで開発してます • Vue.jsがすきです • Railsと少し仲良くなれた気がしています • 最近ElectronでTwitterクライアントを作ってます
目次 • WSL2とは? • WSLいいところ • WSL困ったところ • 雑にベンチマーク!
WSLとは?
Windows Subsystem Linux 2 • Windowsの中でLinuxが動くよ! • 謎の技術によりWindowsのアプリケーションとして ネイティブなLinuxが動く • Linux側から code ./ とかするとWindowsでVSCodeが立ち上がる • 動いてるLinuxはUbuntuとか色々(MSストアからDL)
Windowsで (Web)開発辛い時代に終わりが!
WSLいいところ
WSLいいところ • UIに関するところがWindows • Macではない • フリーソフトがいっぱいある • ちゃんとUnix系の資産が使える • 噂によるとDockerが早いらしい(MacのDockerは遅いらしい)
WSL困ったところ
WSL困ったところ • UIに関するところがWindows • Macではない • フォントが綺麗じゃないことがある • システム指定の等幅フォントにアンチエイリアス効いてない
WSL困ったところ(2) • • Shell上でタブ補完がすっごい遅い! • なぜなら:Windowsのプログラムパスを見に行くから • なぜなら(2):LinuxからWindowsを見る ファイルシステムが遅い →Windowsのパスを入れないようにする、 必要なものだけシンボリックリンクを貼るとよい
WSL困ったところ(3) • Docker内とホストLinuxでファイルのオーナーが食い違う • コンテナ内で作成したファイルをホストLinuxで削除できない • なんとかできそうではある
WSL困ったところ(4) • • 基本的にはLinux側でGUIを使うアプリケーションを使えない • ごにょごにょすればできないことはない • Windowsの世界観にLinuxのアプリケーションが動くので 違和感あるといえばそう (例えば)ElectronをWSL上で動かそうとするとエラーになる
WSL困ったところ(5) • VSCode以外はWindowsのアプリで Linux側のファイルを作ったりすると危険 • パーミッションが書き換わる • 遅い(ファイルシステムの違いによる)
WSL困ったところ(6) • • なんかメモリを食いつぶすことがある • Linuxが空いてるメモリを使い切る →WindowsがLinuxにメモリを渡す →Linuxが空いてるメモリを使い切る →以下ループ ファイルを大量に読み書きすると起きるらしい
費用対効果のほどは…?
雑にベンチマーク!
おことわり • • 大変雑な計測です 比較マシン • Mac Book Pro 2019 13inich 2.7GHz • Lenovo ThinkPad X1 Carbon • 販クラのコードベースで実行してます
Requestスペックいっこ比較 • 8examples • Mac: 9秒 • WSL:4秒
Requestスペックぜんぶ比較 • 2780 example • Mac: 4分48秒 • WSL:3分21秒
WSL2は早い!…気がする?
rails c(初回) • Mac: 1分6秒(なぜ?) • WSL: 7秒