【Bash】Windows Subsystem for Linux【WSL】3
■ このスレッドは過去ログ倉庫に格納されています
サーバーの話だからリソース制限する話出てるのでは
基本的なことって何のこと言ってるのかよく分からないけど >WSLは逆にリソースを制限するのが困難なんだよね。VMなら使うコア数指定できるけど
>WSLはできるのかな
WSLは仮想化してるわけじゃないので、制限する必要がない。Windowsアプリと同じようにアプリ側で制御すればいい。 >>284
WSLとcygwinの仕組みはよくにてるし、使い慣れた環境のほうが手には馴染むかも知れないけど、
WSLのほうが実装がWindowsなんで将来性があるかも。あとインストールとアンインストールは絶対的に楽。
過去の資産に関しては、ubuntuのaptパッケージがそのまま使えるのでcygwinより動くソフトは多いかもね。
でもcygwinはXも起動できるし、xfce4のデスクトップ環境なんかも完動するから、そのへんはcygwinなんじゃないか? > WSLとcygwinの仕組みはよくにてるし
ぜんぜん違う。
まずcygwinでは既存のLinux用のバイナリは動かない。
ソースコードの互換性も完璧ではなく、
cygwin用にソースコードを修正して
コンパイルしなければいけない。
WSLがすごいのはLinuxのUbuntu用のバイナリをコピーしてきて
WSLのUbuntu上で動かせるってこと
cygwinは不完全なソースコード互換性しかなく
WSLはバイナリ互換性がある >>293
使用感はぜんぜん違うかもね、仕組みはよくにてる。
どちらも*nixのシステムコールとWindowsのAPIを互換して動かしてる。
cygwinは開発が古いので、Unixのシステムコールをベースにしてる。バイナリが動くかどうかは仕組み上別の話。 Windows ServerでLinuxウェブアプリ。 >>294
全然似てない。
WSLはMicrosoft Linux、Cygwinはゴミみたいな移植。 >>294
> 使用感はぜんぜん違うかもね、仕組みはよくにてる。
> どちらも*nixのシステムコールとWindowsのAPIを互換して動かしてる。
残念ながらそれは間違ってる。WSLはWindowsのAPIは利用していない。
そもそもWindowsのAPIっていうのは、カーネルのネイティブAPIを使ってる実装されてる。
OSに直接実装されてるのはネイティブAPIであって、WindowsのAPIではない。
WSLではWindowsのAPIを使うこと無くネイティブのAPIを呼び出している。
Windows API → ネイティブAPI → OS
Linux互換API → ネイティブAPI → OS
ということ
Cygwinだと
Linux互換API → Windows API → ネイティブAPI → OS
となってるので仕組み自体が違っている >>298
cygwinがただのアプリでWSLがサブシステムって話だろ。WindowsAPIとネイティブAPIを区別してなかったわ。にてる理由を書くには十分だったから。 >>300
そこを区別しないと駄目。
なぜなら、Windows APIを使ってる限り
CygwinはWindows APIの制限から逃れることはできない
WSLはWindows APIの制限に引っかからないので
Windowsでできないことが可能になる > Windowsアプリと同じようにアプリ側で制御すればいい。
ってかいてあるじゃん。
書いてあることぐらいちゃんと読めよ >>293
POSIX実装をしようとするところは似ている。アプローチが違うだけ。 間抜けすぎてあまりにも可愛そうだから
Windowsでアプリのコア数制限する方法教えてやるわ
https://pc-karuma.net/windows-10-process-cpu-core/
Windowsアプリ全てに適用する話だから
WSL上のプロセスだけでなく、Windowsアプリ全般に使える
http://ascii.jp/elem/000/001/250/1250797/
> 実は、このinitも/bin/bashも、Windowsのプロセスとして管理されている。
>タスクマネージャには、initもbashもちゃんとプロセスとして表示される。
>つまり、WSLのプロセスは、コードはLinuxのバイナリだが、プロセスとしては、
>Windowsのカーネル側で正式なプロセスとして扱われている。
>メモリ管理やスケジューリングもWindows カーネルが行っている。 >>307
> POSIX実装をしようとするところは似ている。アプローチが違うだけ。
アプローチが違うって、それ仕組みが違うって言ってるのと同じ意味じゃんw NT系でカーネルとかAPIとか分離させまくったおかげだな
wslだけでなくWin32のソフトウェアとかも
サブシステムとして動いてるし
Windows on ARMも同じ理屈 cygwinの良さはwindowsのコマンドとlinuxコマンドを一緒に使えるとこだと思ってるけど
俺にとってはバイナリがどうとか仕組みがこうだとかどうでもいいな MINGWとcygwinは違うobjを出すから混ぜるとリンク出来ん >>308
>>310
windowsってすごいですね。 cygwinはmicro動かなくてガッカリしたな
昔から使ってる人は過去の資産があるんだろうけど
linux童貞のwinユーザーがゼロから触る場合
学習コストはWSLのほうが少なくて済むと感じた XilinxのFPGA開発用ツールがそのまま動いたのにはびっくり。
x11は別途必要だったけど。 >>311
バイナリが動くことがどういうことかを理解してもらわないとw
要するにcygwinとは違って、cygwin用にソースコードを
修正しなくていいってことなんだよ
例えば、gitのソースコード。これだけ(今日時点で75箇所)cygwin用にコードが含まれてる
https://github.com/git/git/search?q=cygwin&unscoped_q=cygwin linuxユーザーがwindows始める場合もwslは良い
cygwinは過去の遺物と言うか老害のこだわりと言うか >>308
開発環境から本番環境にデプロイするのに、毎回その手順やるなら話にならないと思う
毎回topで表示されるプロセス一つ一つに全部手動で割り当てすることになるよ
CPU分離設定が移行しやすく管理されてるのかっていう話ね >>310
逆だよ。
いろんなサブシステムを動かすために分離したんだよ。 ほんと、あたまがよわくてかわいそう(w
コマンドラインから変更できるに決まってるじゃんか
話にならないね。
http://www.atmarkit.co.jp/ait/articles/0703/16/news151.html
> ●Windows VistaではStartコマンドでも指定可能
> Windows Vistaでは、コマンド・プロンプトからSTARTコマンドで
> 起動する際にアフィニティ・マスクを指定できるようになっている
> (Windows XP以前のOSでは使用不可)。
>
> C:\>start /affinity 1 MySampApp.exe >>320
Linuxでは真似の出来ない柔軟性ですね。 >>321は>>319あてね。
CPUのコア数はコマンドラインから変更できる >>321
wslで
/usr/local/bin/foo.sh
をcpuのコア10,12,15の3つを使って起動するコマンド教えて。
簡単にできる? >>324
お前が言ってるのは、 "Linux" に
CPUのコア数を指定する命令は存在するのか?
って聞いてるのと同じだぞw
Linuxを馬鹿にするのか?w
https://qiita.com/nakat-t/items/4542e84c4b72b78740e8
> コマンドによるCPUアフィニティの設定方法
> tasksetというコマンドでプロセスのCPUアフィニティを設定できます。
>
> # taskset -p mask pid ちなみに、仮想マシンだとプロセスごとに
コア数を指定することはできない
仮想マシン単位でしか指定することができない
だからWSLの方が良い >>320
因果律があるわけじゃない、どっちでもいい、マイクロカーネル実装しただけ。 >>325
じゃあ、早く教えてあげたら?
ググるのは得意だけど、実践できないタイプに見えるなぁ。 >>328
書いてあんだろ
おめめついてますかー?
ないのはあたまですかー? >>328
真面目に答えると、シェルスクリプトはシングルプロセスが多いからマルチコアを当てるには工夫がいる。
foo.shの中身によるってこと。
だけど、元の話題はVMのほうがリソース制限できるって話みたいだから、VMでやるとOS一つ起動する分とfoo.shのプロセス分を消費するので、おかしいだろって話だよ。 >>330
実践したことがなさそうな彼への
引っ掛けだったのに。
ところでwslの中からtasksetってできるのかな?いま環
境にないし誰か
試せない?もしできたら便利かも。
いちいちaffinityとかでWindowsから制御するのは実用的じゃないし。 >>331
実践したことないのはお前の方だって
はっきりしましたなwww >>330
> 真面目に答えると、シェルスクリプトはシングルプロセスが多いからマルチコアを当てるには工夫がいる。
ブロックさせないように、パイプでつなげればマルチプロセスで動くよ
ま、実践したことないあいつには
思いつかないでしょうなーw >>316
「俺にとってはどうでもいい」って言っているんだから、彼にとってはどうでもいいんだよ。 >>320
それまでのWindowsはソフトウェアのエラーで
OSごと落ちるのが当たり前だったのでサーバ用途に使えなかった
Windows Meとかひどかったでしょ
NT系のマイクロカーネル化はその対策
結果的にサブシステムが作りやすくなったのよ ファイルを開いたまま移動できなかったり、NT系OSがUNIX系OSより特段に優れてるとは思えないな。 >>336
それはOSの問題じゃなくてアプリケーションのつくり方の問題。メモ帳でテキスト開いた
ファイルを移動してみたらわかるよ。 NTカーネルはマイクロカーネルを標榜してたんで、(厳密にマイクロカーネルってわけではない。)
高度に抽象化されたカーネルが土台にあって、その上にサブシステムと呼ばれるUI(この辺は大雑把に)が置かれる。
NT系OSの良いところはカーネルAPIが優秀なところ。WSLもカーネルが優秀だからできる。
ちなみにLinuxは強力なコマンド群が強みだけど、カーネルはモノリシックで時代遅れなんだ。
Macもマイクロカーネル化してる。Linuxが生き残れてるのはオープンソースだから。
このUIの部分をOSと呼ぶか、アプリケーションと呼ぶかは単に個人の趣向だったり、パッケージだったりするから誤解するな。
WindowsはvistaからNTカーネルにはほとんど手を入れない。だからVista以降のWindowsOSの評価はUIとマシンスペックの評価ってこと。 >ちなみにLinuxは強力なコマンド群が強みだけど、カーネルはモノリシックで時代遅れなんだ。
>Macもマイクロカーネル化してる。Linuxが生き残れてるのはオープンソースだから。
Linuxが出てきた頃に戻ったような気分だよ 20年前よりWSLでマイクロカーネルを実感してるわ。 Machで盛り上がった時代があったな。OSF/1とか。 MINIXというかタネンバウムだね
関係ないけど、コンピュータネットワーク(通称タネンバウム本)は読んどくように。 しかも、レビューはボロクソでゴミみたいだなww
ネタかよ。 Windows依存症 ICD分類追加候補予定
1. Windows起動中は精神的に安定している
2. 大型アップデートがくると非常に精神不安定になる
3. MSお勧めのアプリは必ずインストールする
4. Linuxは嫌いだ
5. なぜかリーナス・トーバルズを知っている
6. 会社のPCは全部Windowsがインストールされている
7. 事務作業は必ずMS Officeを使っている
8. パワーポイントを知らないヤツは内心バカにしている
9. IE11とEdgeからLibreOfficeの公式HPアクセスを制限していることを知っている
10. 警告表示が出ることについて、当然だと思っている
11. LibreOfficeは「違法ソフト」である
12. GPLライセンスは馬鹿げた夢想である
13. Retina(倍密度スケーリング)表示はLinuxの派生技術ではない
14. WindowsでもRetina表示ができると思っている
15. 解像度変更をするとウィンドウ表示がぶっ壊れるのはLinuxのせいだ
16. HDMIケーブルは画像データ専用のプロトコルだから安全だ
17. インテリジェントデバイスの概念を知らない
18. SDカードはインテリジェントデバイスではない >>338
vista以降はそのOS部分とドライバが分離が加速している
ドライバ関係のエラーでOSごど落ちにくくなった
ゲームとかしてると実感する Google Android/Linux使いやすいですおw どうでもいいが、今現在の Windows NT カーネルは、Win32 サブシステムと
密結合している上に、モノシリック化が進んでる。NT 3.1 はマイクロカーネル
だったけど、今はそうでもない。Mac も同じ。 どこが密結合してるの?
具体的に言えないなら適当なこと言わないでね MSはNTカーネルを作るときにマイクロカーネルにしたかったんだけど、思った以上にパフォーマンスが出なかったので、
実装の綺麗さより、実行スピードを取るために、一部機能をカーネル空間に同居させたんだよ。 はい、それじゃWindowsは速度と抽象化、両方のいいとこどりしたハイブリッドカーネルってことで。 >>352
GPUの話ね。それがユーザー空間に戻って
本来のマイクロカーネルになったのがVistaから
だからGPUドライバが落ちてもOSが落ちることはなくなったんだよ ハイブリッドカーネルはハードの性能も良くなかった妥協案みたいなもんでいいとこ取りじゃないよ。
できれば純粋なマイクロカーネルのほうがいい。作るのが大変だから作ってないだけ。 >>355
それはそれで正しいんだろうけど、ずっとLinux使ってる連中からすれば、Windowsがコマンドインターフェースを持ってないだけって言うと思う。
GPUドライバ落ちてもモノリシックのLinuxは落ちないし。 >>357
本当にLinuxでGPUドライバを落としましたか?
本当に落ちているなら、カーネルパニック起こしてるはずです
CentOS 6.6 上で NVIDIA の GPU (の一部) と共に nouveau 使うと発狂して死ぬ
https://moznion.hatenadiary.com/entry/2015/02/23/160016 はい、それじゃWindowsは素晴らしいってことで。 そもそもWineで動くソフトは珍しいけど、WSLはLinuxのソフトがそのまま動くイエィ。 ヴィジュスタからWSL上のgccでビルドするのが最新のLinuxライフ。 >>358
nouveauはオープン実装のドライバで、機種依存的にバグが起きるのは良く知られてる。
もし、nvidiaのGPU使いたいならプロプライエタリなドライバ使え。
リンク先の記事はnouveauの調子が悪いよってことだろ。 >>357が言ってるのは、GPUドライバが落ちたんじゃなくて
Xが落ちただけだろう。Xはディスプレイの設定間違えるだけで
簡単に起動しなくなるからな
その場合はCLI状態になる。そのことを言ってるのだろう。
Windowsは、デスクトップ表示中にGPUをリセットすることができる
そのためのショートカットが、Win+Ctrl+Shift+B
GPUの不具合が原因でフリーズ(正確には画面が更新されないだけでシステムは動いている)
したときに、このショートカットでGPUをリセットすることで復旧できる WSLからGPUの制御できたら最高だな。GPUパススルーとかできるようになんないかな。 >>364
だーかーらー、Linuxはモノリシックだから不安定な
GPUドライバを使ったらカーネルがフリーズって話してるんだろ
Windowsはマイクロカーネルだから不安定な
GPUドライバを使ってもカーネルは生きてる
だからショートカット一つでリセットして復旧できる LinuxのGUIアプリって出来損ないが多いから、コマンドだけ使えば良いよ。
GUIアプリはWindowsの使ってさ。 LinuxとWindowsのいいとこどりしたハイブリットコンピューティングライフにWSLがお役に立ちマッスル。 >>367
パワハラじゃない言い方で頼む。
ドライバが落ちるってのを別の言い方で頼む。
>>357を読んでくれ。>>355は正しいと言ってる。
レスをするなら同じ説明をくり返すな。
俺が間違っていたら優しく教えてくれ。 >>370
>>355ではLinuxではGPUドライバが原因でカーネルパニック起こして
フリーズするようなことが、WindowsではVista以降起こらなくなった
って書いているんだよ。VistaっていうのはWindowsのことだよ。
Windowsの話とLinuxの話をごっちゃにするな
GPUドライバ落ちても、OSが落ちないのはマイクロカーネルのWindowsの方だ VistaはWindowsじゃないだろ。
MeもWindowsじゃない。
ゴミ。 悪のWindowsを使うやつもまた悪である!
正義のために!!!! うんだから>>355のレスの内容は正しいって言ってるじゃん。
GPUドライバが落ちたってことは、”ロードされてない”状態か?、”バグがあってドライバが異常終了する”状態か?GPUドライバなくても起動できるだろ。
GPUドライバがバグったらモノリシックカーネルがパニックになるのはなんにも否定してないよ。
だから>>370を読めよ。上から順に優先順位が高いからよろしく。 >>377
読んだよ?で?
まあ、俺のほうがパワーあるって
認めたことだけは褒めてやろうw わらうとこ
357 返信:login:Penguin[sage] 投稿日:2018/06/22(金) 17:32:37.40 ID:DbiQ98jc [12/16]
GPUドライバ落ちてもモノリシックのLinuxは落ちないし。
↓
377 返信:login:Penguin[sage] 投稿日:2018/06/22(金) 18:20:06.33 ID:DbiQ98jc [16/16]
GPUドライバがバグったらモノリシックカーネルがパニックになるのはなんにも否定してないよ。 Linuxを端末として使うとマルチメディア関係のドライバ周りが不安定すぎてつらい
Linuxはサーバーとして使うことが多いから安定していると錯覚するが 我ら十字軍、神の御遺志に背く悪辣たるWindowsを滅せよ。 まぁLINUXはその他の雑多なOSを駆逐しただけでも偉いかな >>380
昔からWindowsが不安定とかいう人いるけど、ドライバがらみのことが多くて
ドライバがないLinuxが安定といわれても、そもそもドライバがなくて使えないんだから論外
なんだけど、そのあたりは無視されますからね。
最近になって署名されたドライバが増えてきたのでドライバがらみで落ちることは
稀なんだけど、昔の知識でLinuxは超安定!Windowsは不安定!とか信じている
信者が多いのが困ったもんですね。
Linuxでもプリントできる、スキャンできるなんていってもWindowsに比べて機能
貧弱なことが多いのにねぇ。 >>379
何じゃそりゃ?
IDかぶりじゃないの? パワハラって立場を利用した嫌がらせのことだろ
ドライバが落ちる をNGにするなら代わりになんて言えば理解できるのかを指定してやらんと
説明できなくね >>385
すいません、もう少しわかりやすくお願いします。
日本語難しいなら英語でもいいです。 WebGLとかOS毎落ちるのでIEなんて11になるまでサポート
されなかったけどなぁ >>385
> パワハラって立場を利用した嫌がらせのことだろ
だから無意識に俺のほうが上の立場だって思ってるんだろ?w > WebGLとかOS毎落ちるのでIEなんて11になるまでサポート
はて? IE11でサポートされるのが遅いだけで
OpenGLはずいぶん昔からサポートされていますが? ■ このスレッドは過去ログ倉庫に格納されています