1樓:
微軟Docs自己給的原理實現圖中,WSL1的Lxss.sys充滿了輕量級虛擬機器的味道。
在IO的時候進行system call的時候需要通過翻譯(沒有硬體加速)-> 變成NT Kernel的 System call->執行。沒有足夠公開資訊只能靠猜,按照結構看更像是乙個type 2 VM。更糟糕的是別的VM有各種優化、各種硬體加速,WSL1按照實際使用情況下至少肯定是沒有硬體加速。
因此可以把它近似成乙個優化全關的虛擬機器。
基於type 1 Hyper-v的WSL 2:
IO隨便怎麼都會更好一點,畢竟最壞也是乙個type 1的虛擬機器。
到這裡你差不多能用type 2 vs type 1虛擬機器的差異去理解WSL1 vs WSL2的差異。
因為訪問按照虛擬機器network檔案共享走,額外增加overhead。這個設計是我覺得WSL2最奇怪也最糟糕的設計。
你問我好不好,我肯定說好,因為沒有人比M$更懂Linux。如果你用VScode+ZSH+Windows Terminal,WSL2是真的香。
為什麼不用Hyper-v/VMware?整合度不在乙個梯度上,4k屏/多塊屏+Hyper-v/VMware問題真不少,多出來的UI又沒辦法用GPU,走虛擬機器方案不如直接原生Linux+虛擬win,至少皮衣黃教主開恩,虛擬的win近期還有機會用上vGPU打點遊戲。
為什麼不WSL1?除非是WSL2限制無法實現的情況(如複雜的網路結構需求)、非要強行讀寫NTFS大量檔案,多數情況下WSL2只會做的更好。
2樓:劉俊是
個人測試純計算程式 wsl1的cpu效能強於wsl2 wsl2有10%左右損失 wsl1接近原生
帶io的 wsl2比wsl1強很多
3樓:
---2021-03-11 更新---
補充兩個使用體驗注意項:
由於WSL2基於Hyper-V技術,因此你的電腦上如果安裝了老版本的VMware Workstation等虛擬化產品會無法使用,有衝突。
另外,WSL2是真的虛擬化,因此網路訪問與使用會和WSL1不一樣,完全是虛擬化的方式。
--- 原回答---
別的先不說,光說微軟那麼多工程師開發那麼久,將WSL1公升級到WSL2,肯定會想辦法做些提公升吧。如果WSL2效能下降那還真有問題。
個人不理解為何虛擬機會比翻譯快
不是虛擬機器比翻譯快,而是以前虛擬機器全靠翻譯,靠翻譯機制才實現虛擬機器。後來推出的CPU、作業系統均支援虛擬化技術,導致虛擬機器vCPU效能大幅提公升。所以問題變成,硬體虛擬化為何大幅提公升效能,可以理解為原先通過軟體轉換的指令,現在通過硬體能直接執行,效能自然提高很多。
磁碟IO效能大幅提公升的原因。另外,文章中提到磁碟IO效能的大幅提公升,但是沒有說原因。WSL1涉及大量檔案類操作時的磁碟效能非常差,我推測是由於微軟推出WSL1時來不及對NTFS檔案系統進行優化,而WSL2進行優化後表現好很多。
我們在原生機器上訪問磁碟檔案,首先要訪問NTFS的MFT,可以理解為檔案分配表,即索引一樣的東西。該區域處於固定位置,而且方便進行系統快取,所以訪問大量檔案效能不錯。如果未對VHD中類似區域和內容的訪問進行優化,效能肯定不行。
WSL2效能損耗僅有2%, 典型的標題黨風格。高票回答中已經做了說明。
雖然WSL2有了大幅提公升,個人還是喜歡直接用VMware的虛擬機器,哈哈更直接更原始,支援的作業系統更廣。用好轉殖與快照功能,少了很多折騰。
當然筆記本記憶體必須大,沒有16G起步,你會非常痛苦。
說不定未來WSL3的出現能讓我改變使用習慣。
4樓:
虛擬機器比翻譯快是很好理解的。第一,虛擬機器利用了硬體進行加速,非特權指令除了記憶體訪問以外應該幾乎沒有損失。而翻譯是軟體實現,軟體翻譯損失了實打實的cycle。
第二,hyper V是微軟很成熟的虛擬化平台,本身也優化得比較好。畢竟面向了生產環境。
wsl2能否固定ip位址
戰士 暫時微軟都沒有支援,現有的方法是寫乙個啟動指令碼,去手動進行設定。wsl github上的問題單 已知的一種解決辦法 WSL2固定ip位址 manbu cy的部落格 CSDN部落格問題單裡也有很多其他的解決辦法可以參考一下 68號島的珂學家 我用了很久,每次都是連上wsl檢視ip,再修改xse...
蘋果手機為什麼效能會比同期的安卓旗艦手機高那麼多?
Tech 看了這麼多回答,都沒說到點上。唉,臣是老實人 蘋果A系列的效能可謂是拳打高通,手撕麒麟,腳踢MTK。神一般的存在,然而事實真的這樣嗎?首先,A處理器一直有個小弟,M系列協處理器,他倆的分工可清楚了,A處理器只封裝效能模組 CPU,GPU,APU,NPU等 M協處理器用於封裝功能模組 基帶,...
為什麼有些孩子會比較害羞,有些孩子會比較開放是什麼導致了這些差異?
燕掌門AngelWu 我認為有以下原因 1 乙個孩子顯得膽怯害羞,有可能是新環境沒有安全感,也可能是由於生命早期的家庭氛圍和撫養模式。乙個出生在開朗健談的家庭的孩子,也往往很開放,反之亦然。根據鮑爾比 依戀 中觀點,乙個個體在生命的早期如何被其他家庭成員對待和撫養,也將深刻決定著ta與別人的相處模式...