WSL 2.0 은 윈도우10에서 리눅스 커널을 직접 올린 것으로 최근에 꾸준히 기능이 업데이트되고 있다. 최근 MS Build 2020 컨퍼런스에서는 CUDA와 Direct ML의 GPU 컴퓨팅을 지원해서 WSL에서 AI와 machine learnig에 사용할 수 있다고 한다. (출처: MS blog) WSL개념과 설치 방법은 아래 게시글을 확인 바란다.
현재 퀄컴이나 Android에서 배포하는 BSP와 Framework 소스는 리눅스 OS를 기반으로 배포하고 있고, Trace32나 일부 개발 Tool은 Windows 에서만 배포하고 있어, Windows와 리눅스를 같이 사용할 수밖에 없다. 본 게시글은 WSL에서 Android 빌드를 확인하는 과정에서 가상 메모리(=swap)를 늘리는 과정이 필요했고, 이를 위해서 설정 방법을 공유한다. 참고로, WSL에서는 Android 빌드는 File system에서 대소문자 구분을 못해 "Case-insensitive filesystems not supported" 에러가 발생하여 불가능하다.
※ WSL 관련한 이전 게시글:
[개발환경] - Windows 10에서 Cygwin과 WSL 설치
[개발환경] - Windows 10 Insider Preview 설치 (WSL 2.0 설치)
[개발환경] - WSL 2.0 설치 방법 및 기능 확인
WSL 2.0 Global 설정 항목
WSL 2.0 설정은 가능한 항목은 아래와 같고, 성능과 관련해서는 메모리, CPU, SWAP 크기를 조정할 수 있다.
특히 Swap설정 관련해서는 WSL에서 sudo swapon 명령어가 동작하지 않기 때문에 WSL configuration이 유일한 방법이다. 주의해야 할 점은 Windows 빌드 19041 이상에서 global configuration을 지원하니 winver으로 확인 후 버전이 낮은 경우 Windows 10의 업데이트가 필요하다.
- 커널 설정: 리눅스 커널을 사용자가 지정
- kernelCommandLine : 사용자가 지정하는 kernel command line 추가
- 메모리: WSL 2.0 사용하는 메모리 지정한다. 기본 값으로 윈도우의 80%를 설정함 (WSL 성능 향상)
- CPU : WSL 2.0 에서 사용하는 CPU 개수 지정 (WSL 성능 향상)
- localhostForwarding: localhost에 연결을 위한 포트 포워딩
- 가상 메모리: SWAP 공간을 할당 크기 지정 가능 (WSL에서 메모리가 부족한 경우 사용)
- 가상 메모리 파일 저정: Swap 파일을 지정 가능하다. 위치 설정을 하지 않으면 윈도우 프로파일 폴더 하위의 temp 폴더에 생성된다.
.wslconfig 파일 설정 방법
윈도우 사용자 프로파일 폴더에 .wslconfig 을 text 파일을 작성하고 WSL을 재시작하면 적용된다. 현재는 버그때문에 옵션 값에 white space만 들어가야 한다고 #과 같은 comment를 추가하면 안 된다.
[wsl2]
kernel=
memory=
processors=
swap=
swapFile=
localhostForwarding=
※ 참고 사이트:
https://adamtheautomator.com/windows-subsystem-for-linux/
※ 관련 글
[개발환경] - 윈도우에서 MobaXterm 사용 - SSH 및 X-Server 사용
[개발환경] - Git 사용하기#2 (bat, git-fuzzy, git-delta)
[개발환경] - 우분투에서 NTFS 를 Read/Write로 마운트 (듀얼 부팅 화일 공유)
[개발환경] - Ubuntu에 Microsoft Office 설치하기 #1 (와인기반)
[개발환경] - WSL 2.0 설치 방법 및 기능 확인
[개발환경] - [Tips] Windows 10 에서 화면 캡쳐 단축키
[개발환경] - Windows 10 Insider Preview 설치 (WSL 2.0 설치)
[개발환경] - Window 와 Ubuntu 파일 공유하기 (듀얼부팅)
댓글