1 名前:login:Penguin mailto:sage [2016/03/30(水) 14:57:55.72 ID:2b3xF4As.net] WindowsはLinuxの機能をもエミュレートする ?Microsoft and Canonical partner to bring Ubuntu to Windows 10 You'll soon be able to run Ubuntu on Windows 10. www.zdnet.com/article/microsoft-and-canonical-partner-to-bring-ubuntu-to-windows-10/
652 名前:login:Penguin mailto:sage [2016/05/17(火) 20:55:31.84 ID:ctsYjtq9.net] >>636 めんどくさいなあ、もう。 じゃあMac OS X 標準のHFS+だと区別しない、と書きなおす。 でもWSLのファイルシステムが標準で区別することは、 当たり前じゃなくてありがたい仕様じゃないの? ついでだけど、ファイルシステムを見ようとするとエラーになるわ。 $ df -T df: cannot read table of mounted file systems: No such file or directory
653 名前:login:Penguin mailto:sage [2016/05/17(火) 21:03:49.42 ID:D/UYe8Ee.net] >>637 言っていることがよく分からない 「WSLのファイルシステム」ってのは何のこと? もしかしてWSLがNTFSドライバをわざわざ独自実装してると思ってるの? >>636 に書いたことでその辺のこともカバーしてるんだけど分かりにくかったかな WSLはWindowsのNTFSドライバに仕事丸投げしているはずで そこでignore caseならWSLでcase sensitiveにすることは不可能
654 名前:login:Penguin mailto:sage [2016/05/17(火) 21:04:48.85 ID:wmT3kSQ3.net] >>637 /proc まだ実装されてないんでなかった? /proc/partitions とかが開けないってだけだと思うけど。
655 名前:login:Penguin mailto:sage [2016/05/17(火) 21:32:04.71 ID:ctsYjtq9.net] >>638 自分は /mnt/c 以下はNTFSをマウントされて、それ以外はext4あたりなんじゃないかと想像してた。 それ以外のディレクトリで hoge.txt と HOGE.txtが共存できるのはそのせいだと。 しかし $ mount を実行してもそれっぽい結果にならないんで困惑中。 全体をNTFSが管理しているのなら、なんで /mnt/c 以外では大文字小文字が区別されんの? >>639 あ、なるほど。 /proc に依存しない確認方法ってある? $ sudo /sbin/parted -l は何も返さなかった。
656 名前:login:Penguin mailto:sage [2016/05/17(火) 21:47:22.48 ID:D/UYe8Ee.net] >>640 そもそもNTFSはフォルダ内にFOOもfooも同時に持てる NTFSはPOSIXサブシステムのためにPOSIX互換があるから けどWindowsサブシステムでは大文字小文字区別しないから Windowsサブシステムは自分が使う領域にはFOOがあればfooは作らない そういうセマンティクスだから/mnt/cではWSLがそれに合わせないと Windowsサブシスタム側のアプリが困ってしまう
657 名前:login:Penguin mailto:sage [2016/05/17(火) 21:49:17.39 ID:D/UYe8Ee.net] ちなみにロングファイルネーム拡張が入る前のFAT内部では パス名にアルファベットは大文字しか使えず 参照時に大文字と小文字は区別しなかった
658 名前:login:Penguin mailto:sage [2016/05/17(火) 21:49:22.14 ID:xRMSTkW7.net] >>640 > 全体をNTFSが管理しているのなら、なんで /mnt/c 以外では大文字小文字が区別されんの? だからNTFSでは大文字小文字は区別されるのに WindowsAPIでは区別しないから面倒くさいことになってるんだろ
659 名前:login:Penguin mailto:sage [2016/05/17(火) 21:54:26.22 ID:D/UYe8Ee.net] >>640 mountコマンドによれば /以下はrootfsっていう特殊なファイルシステムのようです /dev/の下にもdisk deviceはない /dev/adssはAndroid subsystem時代の名残ですかね
660 名前:login:Penguin mailto:sage [2016/05/17(火) 22:03:11.71 ID:D/UYe8Ee.net] ちなみに $ cd $ echo foo > foo $ echo FOO > FOO $ ls foo FOO $ cat foo foo $ cat FOO FOO だが同じファイルをcmd.exeで > cd \Users\誰かさん\AppData\Local\lxss\home\リナックスの誰かさん > dir xxxxxx 0 FOO xxxxxx 4 foo > type foo foo foo > type FOO foo foo となる Build 14342ね
661 名前:login:Penguin mailto:sage [2016/05/17(火) 22:12:33.48 ID:D/UYe8Ee.net] >>516 それから上でinitに話が出てるけど psして出てくるのは/sbin/initではなくて/init これは一部モジュールがLxssManager.dllと共有されてると思われるLxss独自のコマンド たぶんLinuxサブシステムから起動されて渡された情報を元に 普通のLinuxでは/etc/init.d/rc等の仕事をやるコマンド hostnameの設定とか /etc/hosts, /etc/resolv.confもこいつが作ってるみたい 情報の授受に使うモジュールが共通なのだろう
662 名前:login:Penguin mailto:sage [2016/05/17(火) 23:36:52.54 ID:ctsYjtq9.net] 遅くなりました。いろいろありがとう。 > なんで /mnt/c 以外では大文字小文字が区別されんの? この質問は、理由や動機じゃなくて仕組みを聞いたつもりだったんだけど、 WSLがこのディレクトリを特別扱いしているということなのね。 >>645 は大変勉強になりました。 しかし自分の環境では \Users\誰かさん\AppData\Local\lxss が見つからない。 \Users でファイル名 lxss で検索しても引っかからない。うう。
663 名前:login:Penguin mailto:sage [2016/05/17(火) 23:38:48.37 ID:+GSpJ1gK.net] 大文字小文字区別のcase sensitive file systemの投票はここ。 https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windo/suggestions/13375260-bashonwindows-must-support-a-case-sensitive-file-s OSXでandroidビルドする時にこれが原因でビルドエラーになったことがあるな。
664 名前:login:Penguin mailto:sage [2016/05/17(火) 23:42:02.44 ID:+GSpJ1gK.net] >>646 WSL用のinitの挙動は知りたいね。 現状なんもやってない気がするけど。
665 名前:login:Penguin mailto:sage [2016/05/18(水) 00:09:18.85 ID:J6kxD2XB.net] >>640 君の知識レベルで手を出すのは早いと思うよ
666 名前:login:Penguin mailto:sage [2016/05/18(水) 00:26:53.60 ID:pM439fj4.net] ぶっちゃけWSLはアプリを動かす環境であって デバイスを管理する環境じゃないんだわ。 目標はハードウェアのエミュレータじゃないので、 ファイルシステムがどうとか、そういうのは 後回しにするべきだし、実際後回しなんだろ。 ディスクなんかはWSLを通さずにWindowsから 直接管理すればいいわけで、つまりお前使い方間違ってるぞ。
667 名前:login:Penguin mailto:sage [2016/05/18(水) 00:27:52.71 ID:SNqH199o.net] >>647 エクスプローラのフォルダパス欄に↓の文字を貼り付ければ一発で行ける shell:UsersFilesFolder\AppData\Local\lxss
668 名前:login:Penguin mailto:sage [2016/05/18(水) 00:44:40.66 ID:W2GL/G7L.net] >>652 ありがとう。行けました。 つうかシステムファイルの表示してなかったんで設定変えました。 まだWin10自体慣れてないな…。
669 名前:login:Penguin mailto:sage [2016/05/18(水) 00:53:16.99 ID:12S2FVU/.net] つうかbashかcmd.exe使ってよ エクスプローラかよ
670 名前:login:Penguin mailto:sage [2016/05/18(水) 01:12:12.63 ID:CGIuw4Kk.net] Ubuntuでやりたいことをしたかったら、WSLでなくHyper-VにUbuntu入れろってことだ。 Win10 Proならできるだろ。
671 名前:login:Penguin mailto:sage [2016/05/18(水) 01:31:24.21 ID:12S2FVU/.net] そういう話は誰もしてない
672 名前:login:Penguin mailto:sage [2016/05/18(水) 02:03:29.14 ID:12S2FVU/.net] >>649 >>646 以外だと全てのbashが終了するのを待ってる せっかくなので書き残しとく $ cat /proc/sys/kernel/osrelease 3.4.0-Microsoft
673 名前:login:Penguin mailto:sage [2016/05/18(水) 09:31:02.38 ID:pM439fj4.net] >>655 Ubuntuでやろうとしてるんじゃなくて Windowsでやってるんだよw Windowsでも開発系色々動くしな。 それがさらに強化されるってこと。
674 名前:login:Penguin mailto:sage [2016/05/18(水) 13:20:35.03 ID:W2GL/G7L.net] そう言えば、 >>570 のリンク先の記事に > Bash On Windows もおそらくこういった問題があると思います。 > (追記: 例えばファイルシステムが NTFS 上なので ext4 と同等のファイル属性が持てません。) って書いてあったけど、 これ「拡張ファイル属性」ってやつ? それがNTFSと互換性がないとして、そんなに問題なんだろうか?
675 名前:login:Penguin mailto:sage [2016/05/18(水) 15:39:27.25 ID:8Z0BHge9.net] >>659 chattr相当が出来るioctlがあるのが前提だと困るだろうけど そんなコマンドは殆どないんじゃないかな?
676 名前:login:Penguin mailto:sage [2016/05/18(水) 17:30:30.28 ID:12S2FVU/.net] lxrun /setdefaultuserで設定出来るデフォルトユーザは HKEY_USERS\xxxxx\SOFTWARE\Microsoft\Wnidows\Current\Version\Lxss にDefault{Usernane, Uid, Gid}として書いてあるね 起動シーケンスは結構単純だね WindowsからWSLのコマンド実行も出来る C:\Users\xxxxx>bash -c 'pwd' /mnt/c/Users/xxxxx C:\Users\xxxxx>bash -c ‘echo $HOME’ /home/yyyyy C:\Users\xxxxx>bash -c ‘ls $HOME’ echo.sh C:\Users\xxxxx>bash -c 'cat $HOME/echo.sh' echo This is a test C:\Users\xxxxx>bash -c '$HOME/echo.sh' This is a test
677 名前:login:Penguin mailto:sage [2016/05/18(水) 18:51:11.50 ID:12S2FVU/.net] >>345 ttyはもう結構出来てるんじゃないか? 相手がWindowsコンソールとはいえvimとか動いているし ttyデバイスはかなりややこしいセマンティクスを持っているから 独自実装だと非常に細かい所までttyデバイスを実装できてるとも思わないけども ptyはttyがちゃんと出来ていればそれほど難しくない 作った時にpipe的接続したり読み書きでバッファリングしたり kernelのソース見るとptyがらみは1000行くらいしかない
678 名前:drivers/tty/以下は全部で20000行くらいあるんだけど ptyないとdebconfのpostinst辺りで芳しくないケースあるから ちゃんと作ってくると思うけどね [] [ここ壊れてます]
679 名前:login:Penguin mailto:sage [2016/05/18(水) 18:52:15.17 ID:7oVJDw8v.net] >>640 > なんで /mnt/c 以外では大文字小文字が区別されんの? 「/mnt/c 以外」とは具体的にどのドライブ?(あるいはディレクトリ?)でしょうか?
680 名前:login:Penguin mailto:sage [2016/05/18(水) 19:00:14.49 ID:7oVJDw8v.net] すみませんが、>>645 のファイル FOO の実体は何ですか?
681 名前:login:Penguin mailto:sage [2016/05/18(水) 19:10:03.84 ID:7oVJDw8v.net] >>661 Bashがパイプを受け付けてくれたら WindowsコマンドとBashの連携が簡単になりそうですが (環境を用意していないので、ガヤばかりですみません)
682 名前:login:Penguin mailto:sage [2016/05/18(水) 19:22:17.67 ID:12S2FVU/.net] >>663 WSL内の/以下全部でしょ >>664 よく分かってない WSL側でFOOを編集したりしてると正しいサイズを表示することもある 「type foo」で二行出てくるのも分からない 大文字小文字違いの同名ファイルがないファイルではこういうことは起きない どういう実装だとこういうことが起きるのだろうか 「type foo*」すると更に訳が分からない sync; sync; syncも効果なし ただし最後の「type FOO」はWin32なんで「type foo」したのと同じ directory entryに最初に出てきた方にマッチしてる その例ではfooをFOOより先に作ったから directory entryないに先に出てくるfooがマッチしてるんだろう 二行出る意味はそれでも分からないが
683 名前:login:Penguin mailto:sage [2016/05/18(水) 19:35:09.93 ID:12S2FVU/.net] >>665 pipeもredirectもダメです エラー 0x80070057 ですって bash -c と起動されたbashも 本物と違うWSLのbash.exeだから -c の引数にbashの文法全てを書けるわけじゃないです 例えば|がうまくいかない >も独自解釈してるみたいだが詳細不明
684 名前:login:Penguin mailto:sage [2016/05/18(水) 23:59:28.55 ID:W2GL/G7L.net] >>660 そうだよね。どうもありがとう。 >>663 もう正解は答えてもらってるので一言、 自分がそうなんだけど、初心者なのに書き込むのは勇気いるよね。 お互いがんばってスキル上げよう。
685 名前:login:Penguin mailto:sage [2016/05/19(木) 00:51:30.84 ID:go9nYzkE.net] >>661 >>667 おお、 bash.exe -c でWindowsコマンドとしてWSL内でコマンド実行できるのを初めて知りました・・ WSL内のbashではパイプラインもリダイレクトも大丈夫っぽいです。Win側ではダブルクォート使えばOKですね。 C:\>bash.exe -c "find /etc -maxdepth 1 | grep hosts" /etc/hosts /etc/hosts.allow /etc/hosts.deny bash.exeの出力を、Windows側のパイプには渡せないっぽいですね。 C:\>bash.exe -c "find /etc -maxdepth 1 | grep hosts" | "C:\Program Files\Hidemaru\Hidemaru.exe" →エラー 0x80070057が秀丸エディタに出力される
686 名前:login:Penguin mailto:sage [2016/05/19(木) 01:08:44.07 ID:8ZOG/1a3.net] >>669 ああそうか cmd.exeはシングルクオートは駄目かw ただ > cd \Users\xxxx\AppData\Local\lxss\home\yyyy > bash -c “echo test > test.txt” とファイルを作ってもWSL側からは何故か見えませんなあ > type test.txt test なんだけど $ cd $HOME $ ls してもない $ cat test.txt も駄目 $ echo test2 > test2.txt するとtest.txtと同じ所にWin32世界では見られるのに 一度セッション終了しても駄目
687 名前:login:Penguin mailto:sage [2016/05/19(木) 01:14:49.87 ID:go9nYzkE.net] bash.exe -c でコマンド実行で、対話的な機能もちゃんと動く感じっすね。 微妙に便利? C:\>bash.exe -c "vi ~/.bashrc" で vi呼び出しての編集動作OK。エスケープシーケンス効いてカラー表示可 C:\>bash.exe -c "python3" で WSLでプリインストールのPythonの対話型シェルに入ることもOK
688 名前:login:Penguin mailto:sage [2016/05/19(木) 01:29:11.73 ID:go9nYzkE.net] >>670 WSL内で cd $HOME すると、デフォルトのユーザが root だから /home/yyyy ではなくて /rootに行ってる気が なのでファイルはそっちにあるんじゃないかなー
689 名前:login:Penguin mailto:sage [2016/05/19(木) 07:04:33.46 ID:lczX8MNb.net] >>666 > >>663 > WSL内の/以下全部でしょ ちょっと良く分からないのですが、 >>631 のignore caseなcpが失敗するのは、/mnt/cを含めた/mnt/c以下のすべてのディレクトリということでしょうか? > これ、/mnt/c/ディレクトリ以下でだけ失敗するな。 とあるのは、例えばNTFSでフォーマットした/mnt/dでは、ignore caseなcpは成功するということでしょうか? あと、>>645 を実行したのが/mnt/c以下のディレクトリということなら、 これはcase sensitiveな挙動になっていて、先程のcpの挙動と異なっており、 WSLでのファイルのcaseの扱いに統一感がないことになります。 手元に環境がなくて自分で試してみることができずに申し訳ないですが、 WSLでのファイルのcaseの扱いがいまいち分かりませんね。 これは、まだ作り込まれていないからなのか、意図されたものなのか。 >>645 のファイル FOO の件もありがとうございました。 良く分からないですね。 >>668 お互い頑張りましょう。
690 名前:login:Penguin mailto:sage [2016/05/19(木) 07:09:18.99 ID:lczX8MNb.net] >>669 秀丸エディタは、標準入力を受け付けるのでしょうか? > bash.exe -c "find /etc -maxdepth 1 | grep hosts" | more としてもエラーになりますか? あと、どなたか、コマンドプロンプト上で以下のコマンドを試してもらえないでしょうか。 > dir | bash.exe -c "grep DIR -" これら2つが実行可能なら、多少煩雑ですが、 WindowsコマンドとBashの連携がそれなりにできることになりますね。
691 名前:login:Penguin mailto:sage [2016/05/19(木) 07:30:26.95 ID:go9nYzkE.net] >>674 >秀丸エディタは、標準入力を受け付けるのでしょうか? 秀丸エディタは何気に標準入力に対応してたりします。 秀丸のEXEにPATHを設定しておくと dir/s | hidemaru みたいなことが出来て便利なので、自分はたまに使ってますね >C:\>bash.exe -c "find /etc -maxdepth 1 | grep hosts" | more >ィ0・・・・: > >0 >x >8 >0 >0 >7 >0 >0 >5 >7 >C:\>dir | bash.exe -c "grep DIR -" >エラー: 0x80070057 bash.exe は、残念ながら入力・出力どちらの場合のパイプにも非対応みたいですね・・
692 名前:login:Penguin mailto:sage [2016/05/19(木) 10:42:20.48 ID:77lEcDSc.net] ぜ
693 名前:んぜん別の話。 このスレの150あたりでXの動作が可能かで揉めてたけど、 実際に動かしてる記事があったんで貼る。 WindowsとUNIXが再び融合する日 - 阿久津良和のWindows Weekly Report | マイナビニュース http://news.mynavi.jp/articles/2016/04/18/windows10report/ http://news.mynavi.jp/photo/articles/2016/04/18/windows10report/images/003l.jpg > フリーのWindows用Xサーバーである「Xming」をインストールしたところ、 > いくつかのGUIアプリケーションは正しく起動した。 [] [ここ壊れてます]
694 名前:login:Penguin mailto:sage [2016/05/19(木) 13:28:27.17 ID:77lEcDSc.net] あ、2chブラウザで見るには画像はこっちのが良かったな。 n.mynv.jp/articles/2016/04/18/windows10report/images/003l.jpg
695 名前:login:Penguin mailto:sage [2016/05/19(木) 13:41:17.38 ID:8AyDEV15.net] Bash on Windowsの中から自分が本物のLinuxカーネルじゃなくてWindows Subsystemで動いてるっていうのを確認する方法ある?
696 名前:login:Penguin mailto:sage [2016/05/19(木) 14:57:18.42 ID:yGUwd53d.net] /procがちゃんとあるかどうか見ればいい
697 名前:login:Penguin mailto:sage [2016/05/19(木) 15:36:51.08 ID:V3LtEN7Q.net] これが正しい確認方法じゃね? $ cat /proc/sys/kernel/osrelease 3.4.0-Microsoft
698 名前:login:Penguin mailto:sage [2016/05/19(木) 16:51:48.60 ID:SzL3Sshj.net] >>680 それ見るのが確実そうね ありがとう
699 名前:login:Penguin mailto:sage [2016/05/19(木) 21:02:41.42 ID:8ZOG/1a3.net] >>676 自分とこでも動いてるよ xlogoとかw
700 名前:login:Penguin mailto:sage [2016/05/19(木) 21:06:49.97 ID:8ZOG/1a3.net] >>680 unameの方はまだ修正してないな
701 名前:login:Penguin mailto:sage [2016/05/20(金) 12:53:33.82 ID:evAehgyn.net] >>676 > いくつかのGUIアプリケーションは正しく起動した。 むしろ動かない奴の情報が欲しいわ
702 名前:login:Penguin mailto:sage [2016/05/20(金) 20:40:38.43 ID:qu3ZSRBD.net] >>684 例えばxtermはptyが必要だから動かない あとマルチスレッド対応のライブラリも一部駄目みたい マルチスレッド使ってなくても Xlibを置き換えるために作られたXCBってライブラリがあるんだが xwudを使おうとすると [xcb] Most likely this is a multi-threaded client and XInitThreads has not been called となって終了する xwudなんてmulti-thereadedなわけないけど ライブラリの初期化で失敗してる ただしXCB使うやつが全部ダメなわけなじゃない bitmapとかは動く onekoも動いたり動かなかったり debagger, tracerが動かないから理由は分からん
703 名前:login:Penguin mailto:sage [2016/05/20(金) 20:47:29.39 ID:qu3ZSRBD.net] あれ? gdbもstraceも動くな 一昨日は/proc/PID/なんとかがアクセス不能だとか言って動かなかったのに xwudも動くようになってる この前はWSLが不安定になっていたのかな?
704 名前:login:Penguin mailto:sage [2016/05/20(金) 20:54:28.32 ID:qu3ZSRBD.net] 後はR, NumPy, SciPy, gnuplotも動いていて データ解析なんかもも既にWindows上で出来てます cygwinがあれば必要ないかもしれないが 自分はWindowsじゃない時はノートPCもubuntuなんでWSLは快適 Windowsの環境整備に時間を取られないのはよい
705 名前:login:Penguin mailto:sage [2016/05/20(金) 21:04:06.23 ID:4RoC/6OL.net] 結構実装速いみたいね。Cygwin使わなくて良くなる日は早く来そうだな。
706 名前:login:Penguin mailto:sage [2016/05/20(金) 21:19:28.57 ID:qu3ZSRBD.net] システムサービスの系統が違うカーネル上でエミュレーションしてるんじゃなくて マイクロカーネル上のネイティブ別実装だからね ただMicrosoftが続けるかどうか…
707 名前:login:Penguin mailto:sage [2016/05/21(土) 06:07:31.97 ID:Tt+f2BwK.net] slow ringにもuowきたから使ってみたけど、いいねこれ ll使えるしw
708 名前:login:Penguin mailto:sage [2016/05/21(土) 14:10:27.35 ID:Ua2Ljiay.net] 現状でもまあまあ使えるよな。slow ringだと、このスレが改良話でキャッハウフフ話してる間、置いてけぼりだろうけど・・
709 名前:login:Penguin mailto:sage [2016/05/21(土) 17:14:04.28 ID:uIawSD25.net] UbuntuはAPTやめてSnappyに移行するらしいけど、WSLも追随するのかな? ベースのUbuntuに振り回されるだろうけど。
710 名前:login:Penguin mailto:sage [2016/05/21(土) 18:20:26.84 ID:B5k1vE2J.net] aptなんぞさっさと廃止して正解
711 名前:login:Penguin mailto:sage [2016/05/21(土) 19:33:55.38 ID:stNt9iOu.net] >>692 そのうち非公認で好きなデストリ選べるようになるでしょ lxrun.exe相当のインストーラと /init相当のbootstrapper作ればいいだけだから
712 名前:login:Penguin mailto:sage [2016/05/22(日) 02:54:29.91 ID:LYC3P8lN.net] ディスクのパフォーマンスを知りたくて $ dd if=/dev/zero of=./test count=3000 bs=1024 を実行してみたんだけど、これCygwinより遅い? # Bash on Windows $ dd if=/dev/zero of=./test count=3000 bs=1024 3000+0 records in 3000+0 records out 3072000 bytes (3.1 MB) copied, 0.030278 s, 101 MB/s # Cygwin $ dd if=/dev/zero of=./test count=3000 bs=1024 3000+0 レコード入力 3000+0 レコード出力 3072000 bytes (3.1 MB, 2.9 MiB) copied, 0.0176942 s, 174 MB/s 参考)DDコマンドでWrite速度測定:ddでHDDやNASの書き込み速度を見てみる。 - それマグで! takuya-1st.hatenablog.jp/entry/20120301/1330605391
713 名前:login:Penguin mailto:sage [2016/05/22(日) 03:01:23.50 ID:6r9sEEDb.net] sync含めて時間測らない無能
714 名前:login:Penguin mailto:sage [2016/05/22(日) 05:58:57.37 ID:s0p0/ROJ.net] そもそもcygwinが重いのはfork等を独自実装してるからだろ ディスク測ってどうすんねん
715 名前:login:Penguin mailto:sage [2016/05/22(日) 06:07:06.56 ID:6r9sEEDb.net] >>697 cygwinの遅いのはファイルアクセスとプロセスかんり。 ネットワークは普通に遅い。Windows速くないし
716 名前:login:Penguin mailto:sage [2016/05/22(日) 06:20:16.71 ID:cRGWingb.net] そういやcygwinでps実行しても Windowsのプロセスまでは見えないんだな。
717 名前:login:Penguin mailto:sage [2016/05/22(日) 07:08:27.35 ID:/eBzBwNC.net] Windowsでtasklistすれば両方見える
718 名前:login:Penguin mailto:sage [2016/05/22(日) 07:24:21.71 ID:/eBzBwNC.net] Windows serverはネットワークスタックは速いよ Windowsがというよりハードウェア上のファームでプロトコルスタック実装してるから TCP offload engineでググってみて server版じゃないとscalable packは使えなかったかな
719 名前:login:Penguin mailto:sage [2016/05/22(日) 19:07:19.79 ID:LYC3P8lN.net] もっと実用的な数値を比べてみた。 各環境で1.5GBぐらいのsvnプロジェクトをチェックアウトしてgrep。 環境名, svn checkout, grep Cygwin, 18m23.288s, 8m4.261s Bash on Windows, 9m94.843s, 6m52.982s 思ってた以上に遅い。Cygwinよりは速かったけど。 ちなみに、他にCygwinとVirtualBoxの入っているPCがあるんだけど、 そこだとCygwinはVirtualBoxの1/10ぐらいの速さ。 するとCygwin : Bash on Windows : Native = 1 : 2 : 10 ぐらいか。 ついでにこんな記事を見つけた。やっぱりきちっと測っても遅いのね。 Steady assimilation: [PC] Bash on Windowsが本当に出て困惑 steadyassimilation.blogspot.jp/2016/04/pc-bash-on-windows.html
720 名前:login:Penguin mailto:sage [2016/05/22(日) 19:22:46.95 ID:DVntnULJ.net] >>697 特定の機能に限定したベンチはいろいろと用途を検討するのに有益だよ
721 名前:login:Penguin mailto:sage [2016/05/22(日) 19:33:35.86 ID:tJiBUnO4.net] VirtualBox は Native と等速なのか凄いな
722 名前:login:Penguin mailto:sage [2016/05/22(日) 20:21:32.16 ID:xHIKnJwY.net] iperfとiozoneは動かないのかね?
723 名前:login:Penguin mailto:sage [2016/05/23(月) 02:30:42.80 ID:ERRbT9h2.net] ベンチって言ったらカーネルビルドやろ
724 名前:login:Penguin mailto:sage [2016/05/23(月) 03:46:37.61 ID:h7yePIJe.net] >>702 と 同じPCにVagrant と Hyper-V で Ubuntu14 を入れたんで、結果に追加。 環境名, svn checkout, grep Cygwin, 18m23.288s, 8m4.261s Bash on Windows, 9m94.843s, 6m52.982s Hyper-V 1m52.058s, 3m0.881s Cygwin : Bash on Windows : Hyper-V は writeは 1 : 2 : 10 ぐらい read は 5 : 6 : 14 ぐらいかな。 >>704 nativeの半分ぐらいなのね。9割ぐらい出ると勘違いしてた。
725 名前:login:Penguin mailto:sage [2016/05/23(月) 13:15:56.95 ID:h7yePIJe.net] つうか実行しながら薄々気づいてたけど、svn checkout は むしろネットワークのスループットを測ってるだけかもしれん。 まあこれが自分の関心のあった項目なんで勘弁して。 もっとちゃんとした検証法を思いつく人は各自試して。 あと、このパフォーマンスだと当分はハイパーバイザ型の仮想環境もほしいし、 するとVagrant使いたいし、 するとCygwinも使いたいということになる。 (vagrant ssh ってCygwinなしでやってる人いる?) VMやCygwinを捨てる未来は当分なさそう。 まあもしかしたらこのパフォーマンスでも構わない用途が大半かもしれない。 それならあとは互換性だけの問題だけど。
726 名前:login:Penguin mailto:sage [2016/05/23(月) 15:34:50.97 ID:fh25Sav0.net] windowsをベースに使うなんてこの時点でアウト 全く信用できん
727 名前:login:Penguin mailto:sage [2016/05/23(月) 18:21:38.75 ID:34jhkwqp.net] そう思うなら使わなきゃいい
728 名前:login:Penguin mailto:sage [2016/05/23(月) 18:52:28.91 ID:/6Vtx2pi.net] そもそも視点が違う windowsを便利にするものとしてWSLを作った
729 名前:login:Penguin mailto:sage [2016/05/24(火) 00:42:42.57 ID:U52teAEB.net] >>705 iperfやってみた 結果はHyper-V上のUbuntu(548Mb/s) > Win10のCMD窓(439Mb/s) > bash on Windows(53Mb/s) CMD窓よりHyperVの方が早いのは、同じマシンであってもクライアント側が異なるNICを使うためと思われ。 ○サーバ側: Ubuntu12.04LTSの入った実マシン (iperf 2.0.5) コマンド:iperf -u -s ○クライアント側 Windows10 Insider Preview 14342版 コマンド:iperf -c 192.168.2.216 -u -b 1000m 下のそれぞれで3回ずつ実行。そのうちの中央値を採用。 下の@Aを実行の際はBのHyper-Vの仮想Ubuntuはシャットダウン済みの状態 @Windows10のコマンドプロンプト (Win版iperf 2.0.8) Abash on Windows (iperf 2.0.5) BUbuntu14.04 on Hyper-V (iperf 2.0.5) ○結果 [ ID] Interval Transfer Bandwidth [328] 0.0-10.0 sec 524 MBytes 439 Mbits/sec ★Win10コマンドプロンプト [ 3] 0.0-10.0 sec 64.1 MBytes 53.7 Mbits/sec ★bash on Windows [ 3] 0.0-10.0 sec 653 MBytes 548 Mbits/sec ★Ubuntu14.04-64 on Hyper-V
730 名前:login:Penguin mailto:sage [2016/05/24(火) 01:20:32.01 ID:pLMOt08A.net] >>712 thx 確かにネットワークが相当遅い。 socketの実装が悪いのか、足りないシステムコールでもあるのか (etherのlink speedが見えない影響とかないよね?)。 気が向いたら、iperfの結果を添えてバグ報告もお願いします。
731 名前:login:Penguin mailto:sage [2016/05/24(火) 09:06:47.57 ID:gwVetxVE.net] Pico Process Overview https://blogs.msdn.microsoft.com/wsl/2016/05/23/pico-process-overview/
732 名前:login:Penguin mailto:sage [2016/05/24(火) 21:15:08.28 ID:pLMOt08A.net] >>714 メモリマッピングが空っぽのプロセス用意するから、 ローダ機能を持たせたLXSS/LXCoreドライバでなんとかしてってことか。 Minimal Processを使ってる機能ってなんだ? signalとか共有メモリの管理もLXSS/LXCoreドライバでやるとすると、 LXSS/LXCoreドライバの規模感がよくわからんな。
733 名前:login:Penguin mailto:sage [2016/05/25(水) 00:53:02.42 ID:u4PX8cL+.net] >>713 よくあるのが不要なコピーが行われてるケース SVR3で最初にSTREAMSが実装されたのが1986年だから 大体30年位前のテクノロジーにとどまってる感じ? BSDのmbufはそれからさらに5年位遅れてるはず
734 名前:login:Penguin mailto:sage [2016/05/25(水) 01:00:25.49 ID:u4PX8cL+.net] >>715 > Minimal Processを使ってる機能ってなんだ? Minimal Processを特殊化すると NT ProcessやPico Processになるんでしょ NT Processの方はまだハードコーディングかも知れないが
735 名前:login:Penguin mailto:sage [2016/05/25(水) 01:03:24.43 ID:u4PX8cL+.net] >>715 >LXSS/LXCoreドライバの規模感がよくわからんな。 ネットワークとかディスクI/Oとかスケジューラーとかは NTカーネルの機能使ってるだろうから DarwinのBSD部分よりかなり小さいんじゃないか? >>716 に書いたようにまだ凄くシンプルな実装だろうし
736 名前:login:Penguin mailto:sage [2016/05/25(水) 21:41:42.46 ID:RG8GyR/9.net] Linuxとの互換性はいずれ上がると思うんだけど、 パフォーマンスの改善の見込みはどのくらいあるんだろう? 昨晩、Bash on Windows と VMでそれぞれ apt-get upgrade したんだけど、 それぞれ62秒と16秒かかった。 今はVMの方が使っててずっと快適なんだよね。
737 名前:login:Penguin mailto:sage [2016/05/25(水) 21:54:37.49 ID:3opJ/Sio.net] >>719 Windows上の仮想VM上のLinux と bash on Windowsとで Linuxとしての性能は前者が確実に上だね。 反面、Linux部分がホストであるがWindowsに対して掛ける負荷は、後者の方が軽いんじゃない? bash on Windowsの方が、Windowsを圧迫しないというか。
738 名前:login:Penguin mailto:sage [2016/05/25(水) 21:57:48.40 ID:3opJ/Sio.net] 誤字って余計な「が」 が入っちゃったので↓に訂正。 「反面、Linux部分がホストであるWindowsに対して掛ける負荷は、後者の方が軽いんじゃない?」
739 名前:login:Penguin mailto:sage [2016/05/25(水) 22:03:11.27 ID:hMTr4AlU.net] ESXiで構築すれば片方止めてマシンに負荷かからないしどっちも使えるぞ
740 名前:login:Penguin mailto:sage [2016/05/25(水) 22:27:46.85 ID:RG8GyR/9.net] >>721 それ全然うれしくない。 負荷かかっていいから速くなってほしいわ。
741 名前:login:Penguin mailto:sage [2016/05/25(水) 22:47:27.32 ID:3opJ/Sio.net] >>723 ケースバイケースじゃないの。 自分の場合、昔 i7-860マシンでHyper-V使ってた頃は、VM動作中にホスト側のWindowsで動画再生すると 音飛びや再生落ちが発生するんで、VMはことあるごとにいちいち起動/停止してて面倒だった。 今はもうi7-4790使ってて、VM1個ぐらいなら稼働中でもホストWin側に影響が見えないから常時駆動してるけど。
742 名前:login:Penguin mailto:sage [2016/05/25(水) 22:57:04.19 ID:u4PX8cL+.net] >>
743 名前:720 未熟な実装はCPUやメモリ負荷が高いことが多いよ [] [ここ壊れてます]
744 名前:login:Penguin mailto:sage [2016/05/25(水) 22:57:58.82 ID:u4PX8cL+.net] ジャイアントロック問題なんかは負荷は下がってただ遅いけどね
745 名前:login:Penguin [2016/05/26(木) 07:53:31.61 ID:uekgGtC8.net] >>719 >パフォーマンスの改善の見込みはどのくらいあるんだろう? >昨晩、Bash on Windows と VMでそれぞれ apt-get upgrade したんだけどそれぞれ62秒と16秒 >>720 >Windows上の仮想VM上のLinux と bash on Windowsとで Linuxとしての性能は前者が確実に上だね。 VMソフト+LinuxのMinimalだともっと差がでるのでは? 「VMソフトの軽さ+LinuxのMinimal」vs「bash on Windows」 今は自由度も速度も安定性も前者か。 LinuxのMinimalって使ったこと無いけど知ってる人いる? VMはVirtualBOXあたりが一番軽いの?
746 名前:login:Penguin mailto:sage [2016/05/26(木) 08:03:48.23 ID:qpU22dRv.net] 仮想化支援ついてるやつならあんま変わらんやろ
747 名前:login:Penguin mailto:sage [2016/05/26(木) 18:34:56.31 ID:S0VWArfS.net] virtual boxよりハイパーバイザー型VMであるHyper-vの方が軽いかも?
748 名前:login:Penguin mailto:sage [2016/05/26(木) 18:43:35.45 ID:qpU22dRv.net] それを行ったらホストOS分のリソースくわないESXiが・・・
749 名前:login:Penguin mailto:sage [2016/05/26(木) 20:29:44.47 ID:L135YqT2.net] Hyper-V Server でいいかと
750 名前:login:Penguin mailto:sage [2016/05/26(木) 20:34:27.78 ID:KdQATLsd.net] Hyper-V とくれば Xen じゃね? ・・使ったことないけど。
751 名前:login:Penguin mailto:sage [2016/05/26(木) 20:39:04.95 ID:PzBIDXEC.net] AWS使ったことないん?
752 名前:login:Penguin mailto:sage [2016/05/26(木) 21:30:57.48 ID:j3GUpHss.net] お前ら Bash on Windows の話しろよw