λ컀 λ°μ€ν¬νμ΄ μ¬μ©νλ WSL 리μμ€ μ ννκΈ°
μλ νμΈμ Mambo μ λλ€.
μ€λμ μλμ° νκ²½μ λ컀 λ°μ€ν¬νμμ μ¬μ©νλ WSL 리μμ€λ₯Ό μ ννλ λ°©λ²μ λνμ¬ κ³΅μ νκ³ μ ν©λλ€. μλμ°μμ λ컀 λ°μ€ν¬νμ μ¬μ©ν λ μ»΄ν¨ν°κ° λλ €μ§λ€λ λλμ λ°κ³ μλ€λ©΄ νμ¬ λ컀 λ°μ€ν¬νκ³Ό WSLμ μν΄ μ μ λλ λ©λͺ¨λ¦¬λ₯Ό νμΈνμκ³ μ΄ κΈμμ μκ°νλ λ°©λ²μΌλ‘ WSLκ° μ μ νλ 리μμ€λ₯Ό μ ννμλκ² μ’μ΅λλ€.
Docker Desktop WSL 2
μλμ° 10 νκ²½μμ WSL 2λ₯Ό μ€μΉνκ³ νμ±ννλ€λ©΄ λ컀 λ°μ€ν¬νμμ WSL 2λ₯Ό μ¬μ©ν΄μ 컨ν μ΄λλ₯Ό ꡬλλ μ μλλ‘ μ§μνκ³ μμ΅λλ€.
Docker Desktop uses the dynamic memory allocation feature in WSL 2 to greatly improve the resource consumption. This means, Docker Desktop only uses the required amount of CPU and memory resources it needs, while enabling CPU and memory-intensive tasks such as building a container to run much faster.
λ컀 λ°μ€ν¬ν 곡μ λ¬Έμμμλ WSL 2μ μ¬μ©νλ©΄ λ©λͺ¨λ¦¬λ₯Ό λμ μΌλ‘ ν λΉν μ μκ³ λ¦¬μμ€λ₯Ό ν¨μ¨μ μΌλ‘ μλΉνλ€κ³ μκ°ν©λλ€. κ·Έλ°λ° μ€μ λ‘ λ컀λ₯Ό μ¬μ©νμ¬ λ€μμ 컨ν μ΄λλ₯Ό μ€ννλ€λ³΄λ©΄ μ»΄ν¨ν° μ±λ₯μ΄ μ μ λλ €μ§λ κ²μ 체κ°νμ€ μλ μλ λΆλ€λ κ³μ€ν λ°μ. μ΄ λ¬Έμ λ WSL κΉνλΈμ μ΄μλ‘ λ±λ‘λμ΄μλλ° WSLκ° μ μ νλ λ©λͺ¨λ¦¬λ₯Ό μ λλ‘ λ°ννμ§ λͺ»νλ νμμΈ κ² κ°μ΅λλ€.
WSL 2 consumes massive amounts of RAM and doesnβt return it
μ΄μκ° λ±λ‘λ λ μ§λ 2019λ μ΄μ§λ§ μμ§λ ν΄κ²°λμ§ μκ³ μ€νλ μνλ‘ λ¨μμλ μ΄μμ λλ€. κ°λ°μ νλΆμ WSL2 VMμ΄ μ μ νλ 리μμ€λ₯Ό μ ννλ λ°©λ²μ μ¬μ©νμ¬ WSLμμ μ¬μ©νλ λ©λͺ¨λ¦¬λ₯Ό μ ννλΌκ³ ν΄κ²°μ± μ μ μν©λλ€.
WSL Configuration
μμμ μκ°ν λ°©λ²μ μ΄λ―Έ λ컀 λ°μ€ν¬νμμλ μ€μ λ©λ΄μμ μκ°νκ³ μλ λΆλΆμΌλ‘ 리μμ€ μ νμ μλμ°μ μν΄ κ΄λ¦¬λλ―λ‘ CPU, λ©λͺ¨λ¦¬ λ±μ μ ννκΈ° μν΄μλ WSL 2μ μ€μ μ μννλΌκ³ ν©λλ€.
.wslconfig μ μ
μ¬μ©μ ν΄λ μμΉμμ .wslconfig νμΌμ μ§μ μμ±νκ±°λ λ€μκ³Ό κ°μ΄ μλμ° ν°λ―Έλμμ λΉμ₯¬μΌ μ€νλμ€ μ½λλ₯Ό μ¬μ©νμ¬ μμ±ν μ μμ΅λλ€.
νμΌμ λ§λ€κΈ° μν νμ μ λͺ λ Ήμ΄κ° λ³λλ‘ μ‘΄μ¬νμ§λ§ λΉμ₯¬μΌ μ€νλμ€ μ½λλ‘ μ¬λκ² λ νΈνλ€κ³ μκ°ν©λλ€.
λΉμ₯¬μΌ μ€νλμ€ μ½λλ‘ μ΄μ΄μ§ .wslconfig νμΌμ λ΄μ©μ λ€μκ³Ό κ°μ΄ μ λ ₯νκ³ μ μ₯ν©λλ€.
[wsl2]
memory=4GB
processors=2
swap=0
.wslconfig λ°μ
νμΌμ μ μν λ΄μ©μ WSLμ λ°μνκΈ° μν΄μλ λ컀 λ°μ€ν¬νμ μ’ λ£νκ³ PowerShellμ κ΄λ¦¬μ κΆνμΌλ‘ μ€νν λ€μ LxssManagerλ₯Ό λ€μ μ€νν΄μΌν©λλ€.
λΉκ΅ν΄λ³΄κΈ°
λ€μμ κ°λ¨νκ² WSL 2μ κΈ°λ³Έ μ€μ μ μν΄ λμνλ κ²κ³Ό .wslconfigμ μ μν΄μ WSL μμ μ¬μ©ν 리μμ€λ₯Ό μ ννμμ κ²½μ°λ₯Ό λΉκ΅ν λ΄μ©μ λλ€. λλ΅μ μΌλ‘ μ΄λ€ μ°¨μ΄λ₯Ό 보μ΄λμ§λ§ νμΈν΄μ£ΌμκΈ° λ°λλλ€.
κΈ°λ³Έ WSL 2
λ¨Όμ , κΈ°λ³Έ WSL 2 μ€μ μ μν΄ λ컀 λ°μ€ν¬νμ΄ μ μ νκ² λλ 리μμ€λ₯Ό νμΈν΄λ³΄μ£ .
κΈ°λ€λ¦¬κΈ° μ§κ²¨μνμ€ λΆλ€μ μν΄μ μ€λͺ νμλ©΄ 컨ν μ΄λλ₯Ό μ€νν λλ§λ€ λ©λͺ¨λ¦¬κ° μ¬λΌκ°λ©΄μ 4GBλ₯Ό μ μ ν κ²μ 보μ¬μ£Όκ³ μμ΅λλ€. μ¬μ©νλ λ§νΌ λ©λͺ¨λ¦¬λ₯Ό μ μ νλ κ²μ λΉμ°ν λΆλΆμΌ μ μμΌλ λ¬Έμ λ κ·Έ λ€μλΆν° λ°μν©λλ€.
μ νλ©΄μ μ΄ν΄λ³΄μλ©΄ λ컀 λ°μ€ν¬νμΌλ‘ μ€ννλ 컨ν μ΄λλ₯Ό μ λΆ μ’ λ£νκ³ μ΄λ―Έμ§ κ·Έλ¦¬κ³ λ³Όλ₯¨μ μ λΆ μμ νμμλ λΆκ΅¬νκ³ WSL2μμ μ μ μ€μΈ λ©λͺ¨λ¦¬μ μΌλΆλ λ°νλμ§ μκ³ μμμ 보μ¬μ€λλ€.
μ¬μ©μ μ μ WSL 2
μ΄μ WSL 2μμ μ μ νμ¬ μ¬μ©ν νλ‘μΈμλ₯Ό 2κ°, λ©λͺ¨λ¦¬λ₯Ό 2GB κ·Έλ¦¬κ³ μ€μμ νμ§μλλ‘ μ€μ νκ³ μμ 컨ν μ΄λλ₯Ό μ€ννλ κ²μ λ€μ μλ ν΄λ³Έ κ²°κ³Όλ₯Ό νμΈν΄λ³΄κ² μ΅λλ€.
κΈ°λ³Έ μ€μ λμλ λ€λ₯΄κ² μ¬λ¬κ°μ 컨ν μ΄λλ₯Ό μ€ννλλΌλ WSL2μμ ν λΉνλ λ©λͺ¨λ¦¬λ 2GBλ₯Ό λμ§μκ² λ¨μ νμΈν μ μμ΅λλ€. λ¬Όλ‘ , μ μ νκ³ μλ 리μμ€κ° μ νλμ΄μκΈ° λλ¬Έμ 컨ν μ΄λ μ±λ₯μ μ€μ΄λ€κ² λΉμ°ν λΆλΆμ λλ€. λ°λΌμ, μμ€ν μμμ΄ μ¬μ λ‘λ€λ©΄ μ λΉνκ² μ ννμλ κ²μ μΆμ²ν©λλ€.
λλ €μ§μ 체κ°νλ μ΄μ
.wslconfig νμΌμ μ μνμ§ μκ³ κΈ°λ³Έ μ€μ μΌλ‘ WSL 2λ₯Ό μ¬μ©νκ³ μμλ λ컀 λ°μ€ν¬νμ΄ μμ€ν μμμ μ΄λμ λ κΉμ§ μ¬μ©ν μ μμ μ§ νμΈν΄λ³΄κ² μ΅λλ€.
κΈ°λ³Έμ μΌλ‘ νλ‘μΈμλ μ λΆ μ¬μ©νλ€κ³ νλ©° λ©λͺ¨λ¦¬λ μ΄ λ©λͺ¨λ¦¬μ μ λ° λλ 8GB μ€ μμμͺ½μΌλ‘ μ€μ λ©λλ€. μ μ κ²½μ°λ 32GBμ λ©λͺ¨λ¦¬μ΄λ―λ‘ λ©λͺ¨λ¦¬μ μ λ°λ³΄λ€ μμ 8GBκ° μ€μ λκ² λ©λλ€. μΌλ°μ μΌλ‘ κ°λ°μκ° μ¬μ©νλ μ»΄ν¨ν°μ λ©λͺ¨λ¦¬ μ©λ 16GBμ΄λΌλ©΄ λμΌνκ² 8GBμ΄λ―λ‘ λ¬΄λ € μ΄ λ©λͺ¨λ¦¬μ μ λ°μ΄λ μ μ ν μ μκ² λκ³ μ»¨ν μ΄λλ₯Ό μ’ λ£νλλΌλ μΌλΆμ λ©λͺ¨λ¦¬λ μ μ νκ³ μμ μ μλ€λ μ΄μΌκΈ°μ λλ€.
μλμ°μ 리μμ€ λͺ¨λν°λ₯Ό μ¬μ©ν΄μ vmmemμ ν λΉλ λ©λͺ¨λ¦¬κ° λμμ§ νμΈν΄λ³΄μκΈ° λ°λΌλ©° μ΄μμΌλ‘ λ컀 λ°μ€ν¬νμ΄ μ¬μ©νλ WSL 리μμ€ μ ννκΈ°λ₯Ό λ§μΉκ² μ΅λλ€.
κ°μ¬ν©λλ€.