這篇文章,將會娓娓道來我使用wsl
的經歷,包括如何安裝以及早期玩家踩的一些坑。這是乙個很好的工具,與vscode
簡直是絕配。
wsl
是什麼
適用於 linux 的 windows 子系統可讓開發人員按原樣執行 gnu/linux 環境 - 包括大多數命令列工具、實用工具和應用程式 - 且不會產生傳統虛擬機器或雙啟動設定開銷。它是直接執行在
win
上的乙個程式,對於普通linux
使用者來說,它已經能夠滿足大部分需求,比如你完全可以在它下面進行go
開發,與真正的linux
虛擬機器使用效果一致。雖然它目前還不能夠執行systemctl
等程式,但不影響我們在win
下快速使用linux
命令列的需求,因為開啟是秒開。而不是像虛擬機器一樣需要恢復快照等等。我們暫且將它看成是閹割版的linux
,因為未來它肯定是乙個趨勢,功能也將更加完善(據說未來還會支援圖形介面)。
下面摘抄自官網文件,簡略列出目前可用的功能:
快速入門
目前微軟推出了兩個版本的linux
子系統,分別是wsl1
和wsl2
。我個人推薦使用最新版wsl2
,之所以這樣選擇,是因為目前我在穩定使用的版本是2,且官方也對比了兩者的區別:
如果想要知道更多詳細的區別,可以檢視傳送門
下面就開始安裝新版wsl
,坐好扶穩:
使用有兩種方式使用wsl
,你可以直接在命令列執行wsl
,也可以通過vscode
遠端連線。
踩坑下面會給出我踩的坑和解決辦法,參考自許多github issues
和部落格,許多方法不一定可行,下面是我實際成功的辦法。
使用wsl2
遇到的問題:
恭喜你更新到wsl2
,但是隨之而來馬上又有乙個大問題,那就是vmmem
記憶體占用過大問題:
這是虛擬記憶體每次申請之後沒有釋放,而是一直占用,所以它會持續堆積。這是wsl2
的bug。
解決辦法有兩個:
有可能你遇到高cpu使用的情況,同樣可以通過編寫配置來解決,新增processors=1
給與它之多一核,你可以根據需要修改。
注意,編寫完.wslconfig
檔案後,一定要以ansi
格式儲存,這樣才會起作用。
更多的配置選項,你可以檢視wsl 命令和啟動配置
總結上一小節的踩坑是我在使用過程中遇到的所有問題,查閱了很多issue
和部落格,最終將可以用的方法總結了一下,也簡要給出了原因使得你不是雲裡霧裡。參考的鏈結在前面都有給出,大多都是自己查issue
找到的解決辦法。作為軟體的早期使用者,我們會遇到許許多多的bug
,這是不可避免的,所以我們要長期跟進他們的issue
,這樣才能看到你出現的異常情況是否是大家都出現的問題,以及相應的解決辦法。祝你使用wsl
開心,太香了~
WSL下Docker使用踩坑小記
眾所周知,win10中開始提供linux子系統,即windows subsystem for linux,簡稱wsl,它可以讓我們在windows系統使用linux系統,自從有了這個新功能以後,博主果斷地放棄雙系統的方案,因為折騰起來實在花費時間。關於如何使用wsl,網上有非常多的文章可以參考,這裡...
入職以來踩過的坑
一 配置環境變數 1 在.zshrc中配置變數時,變數配置等號處多打了乙個空格,導致系統path錯誤,很多命令無法使用,最後在大佬的幫助下,才恢復系統。2 配置path變數,要把需要新增的部分放到前面,避免被覆蓋,例如 path gop ath go path 二 mac終端配置 mac 終端使用 ...
systemtap embedded C 踩坑筆記
官方文件 systemtap的embedded c中,不能 include 也不能用printf和print。那怎麼列印呢?用stap printf。用法與printf一樣。還可以訪問cript中的全域性變數。官方文件中的示例 global var global var2 100 function ...