목표 : WSL 의 구조적인 이해.
링크 : https://learn.microsoft.com/ko-kr/windows/wsl/about
마소 공식 링크고 좀더 알고 싶거나 글 옆에 두고 보면 좋음.
wsl을 사용하는 목적은 윈도우에서 성능 제한 없이 자유롭게 리눅스는 사용하려고 쓰는것입.
과거에는 윈도우에서 가상머신을 만들어서 윈도우 위에 가상머신을 띄우는 방식으로 사용했었는데
hyper-v 기술로 인해 윈도우 위가 아니라 옆에 띄우는 느낌으로 성능 저하 없이 가상머신을 관리하는 것이 가능해짐
그림에서 보는거 처럼 윈도우 위가 아니라 옆에 띄운다고 생각하면됨.
과거에는 가상머신을 사용하면 리눅스를 쓴다해도 채널에서 원하는 gpu 사용이 제한될때가 많았음.
그러나 wsl2 에서는 그림처럼 독립된 환경을 구성하는것으로 윈도우 위에서 가상머신으로 돌때보다
하드웨어를 자유롭게 사용이 가능해짐(예를 들면 GPU).
왜 써야되는가.
집에 컴퓨터가 1대 밖에 없어서 리눅스 못깔고 우바부가를 윈도우 설치 하다가 안되거나 짜증나게 오류를 뿜을때
리눅스 유저처럼 명령어만 쏙쏙 치면 성능저하 없이 아름답게 돌아가는 매직이 일어난다고 생각하면 된다.
그리고 리눅스에서 실수하거나 다시 설치하고 싶을때 가상머신처럼 쉽게 지워버리는것도 가능하다.
그래서 이거 써도되나요.
써도됨. 대부분의 개발환경들도 wsl2를 지원하는 방식으로 업데이트가 되고 있음(예. Docker)
주의할점
- ram 이 누수된다. 안된다고 하는데 누수된다고 생각하고 써라. 밑에 설정 링크에서 램과 가상메모리를 꼭 설정해라.
- ram, ssd 용량이 많이 필요함. 옆에서 띄워서 성능 저하가 없다고 해고 가상머신처럼 용량이 크다.예를 들면
지금 라마 30b 4bit 를 띄울때 권장 32gb 라고 나오지만 wsl2를 사용하면 순수 32gb + @(평소사용량)이
필요하고 실제 가상메모리를 설정하지 않는다면 killed 이 된다.
- 별도에 설정이 필요하다. https://learn.microsoft.com/ko-kr/windows/wsl/wsl-config
실제 리눅스가 아니라서 윈도우 부팅후에 wsl2가 부팅이 된다. 그러므로 네이티브 리눅스와 설정이 조금 다르다(모르면 짜증난다).
- 윈도우와 경로가 공유된다. ( 중요함 )
윈도우 <>wsl2 사이에 간단한 파일 들은 링크해도 된다고 보는데 그래도 그냥 복사해서 써라.(양쪽 환경 모두 오염시키는 행동)
예를 들면 윈도우에 쿠다 11.8을 깔고 wsl2에 쿠다 11.3을 깔면서 왜 버전이 11.8로 나오냐는 사람들 보면
대부분 리눅스 pip 패키지 관리 잘못 이거나 윈도우 경로를 추가해서 이다. 이 부분이 제일 중요하니 꼭 염두해 두자.
추가할점
- 리눅스에서 사용하던 좋은 프로그램들이 윈도우에서 쉽게 사용할수 있고 우바부가 또한 성능 저하 없이 도커 이미지로 나오고 있으며
공식 이미지가 나온다면 우분투를 조작할 필요없이 도커 데스크탑이라는 wsl2를 사용한 윈도우 프로그램을 사용할수 있을것이니 계속
기다리면 오토좌의 원클릭 인스톨 처럼 쉽게 쓸수 있을걸로 보임.
'소프트웨어 > WIN' 카테고리의 다른 글
[WSL] 문제점 가상 머신 할당 용량 커짐 해결 방법 (0) | 2023.04.23 |
---|---|
[WSL] cuda toolkit 설치 (1) | 2023.04.20 |
[WSL] vscode 설치 (0) | 2023.04.20 |