WSL 부팅시 실행되지 않게 설정하기

SeHun.J·2024년 2월 11일
1

부담스러운 WSL 리소스 사용

WSL을 설치하고 Docker를 쓰는 것 까진 좋았지만, 램 16기가인 노트북에게는 부팅과 함께 실행되는 WSL이 부담스러웠습니다. 램을 1G 정도로 적게 소모했지만 계속 백그라운드로 실행되어야 한다는 건 크게 다가왔습니다.

그래서 Linux의 CronTab처럼 Windows에서도 매번 부팅시에 WSL을 종료하는 작업을 실행하면 되지 않을까? 라는 생각으로 출발했습니다.

작업 스케줄러를 통한 WSL 자동 종료

작업 스케줄러 검색

시작메뉴에서 작업 스케줄러를 검색해서 실행합니다.

작업 스케줄러 첫화면

이런식으로 기존에 등록된 작업들이 보일텐데요. [작업 스케줄러 라이브러리]를 펼친 후, 폴더를 하나 새롭게 만듭니다.

WSL 폴더 생성

저는 WSL 관련 작업이므로, WSL이라는 폴더를 만들었습니다.
그리고 해당 폴더 안에서 작업 만들기를 클릭해서 작업을 만듭니다.

작업
저는 WSL AutoStart Disable이라는 이름으로 했고, 구성 대상은 Windows 10으로 선택했습니다.

트리거
[트리거]탭에서 작업 시작은 시작할 때 (컴퓨터 부팅)로 하고 고급 설정에서 작업 지연 시간을 30초 정도 주었습니다.

동작
[동작]탭에서 동작을 프로그램 시작으로 설정하고 프로그램/스크립트에는 powershell을 입력합니다. 찾아보기로 선택 안하셔도 됩니다.

인수 추가(옵션)에는 아래의 코드를 입력합니다.

-command "& wsl --shutdown"

조건
저는 노트북이기 때문에 전원과 관련된 옵션이 있는 것 같습니다. 컴퓨터의 AC 전원 연결 여부와 상관없이 실행할 생각이기 때문에 체크해제 합니다.

설정
[설정]탭에서는 다음 시간 이상 작업이 실행되면 중지, 요청할 때 실행 중인 작업이 끝나지 않으면 강제로 작업 중지를 체크해제 합니다. 마지막으로 이미 실행 중인 작업이 있을 땐, 새 인스턴스 실행 안함으로 설정합니다.

테스트

VmmemWSL

작업 스케줄러가 잘 작동하는지 테스트하기 위해서, 컴퓨터를 재부팅한 후 [작업관리자]를 실행해서 VmmemWSL 프로세스가 실행중인지 확인합니다.

profile
취직 준비중인 개발자

0개의 댓글