알아두면 좋은 자료

WSL Vdisk 용량 이슈

rudgh99_algo 2024. 2. 29. 10:34

1. 들어가며

WSL에서 Ubuntu 22.04 버전을 설치해서, 사용하고 있다. (정말 편하다.)

그러던 중, 다 이용한 파일들은 꾸준히 지우는데도, 저장공간이 부족해지는 문제가 발생했다. 

파일탐색기에 들어가 어떤 프로그램이 덩치가 큰지 보니, ext4.vhdx 프로그램이 덩치가 매우 컸다. WSL Ubuntu 파일이다.. 

 WSL은 Windows운영체제와 달리 파일을 삭제해도 즉각적으로 파일 용량이 확보가 되지 않는다. 

그 이유를 찾아보다, 얻은 결론은 이렇다.

"내가 50GB의 저장공간이 있다고 가정하자. 이때, 10GB 데이터셋을 다운받아서 60GB로 늘었다. 10GB 데이터셋을 지워도 60GB로 저장공간은 고정이다. 즉, WSL의 Vdisk는 파일을 지운만큼 공간을 줄이지 않는다. 늘어난 상태로 유지한다."

주식시장에 비유해보자. x축이 데이터의 크기, y축이 Vdisk 할당량이다. 

그러면, Vdisk가 꾸준히 우상향 한다는 말이 된다. 

이렇게 되면, 몸집이 너무 커져, 부담스러워진다.

WSL 너 동적할당 방식이니?

그런 것 같다. 

 

 

2. 해결책 (나한테는 적용 되었지만, 다른 환경에서는 적용 안될 수도 있다.)

 1. WSL에 접속 후 diskpart입력 

 2. select Vdisk file= " ext4.vhdx가 들어있는 path 입력"

 3. Compact Vdisk 입력 

 위의 3가지 순서를 따르면, 용량이 줄어든 것을 볼 수 있다. 

 

1번 코드.PS C:\WINDOWS\system32> diskpart

Microsoft DiskPart 버전 10.0.22621.1

Copyright (C) Microsoft Corporation.
컴퓨터: DESKTOP-03UTL1O

  2번 코드.DISKPART> select Vdisk file ="C:\Users\82103\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx"

DiskPart가 가상 디스크 파일을 선택했습니다.

  3번 코드.DISKPART> Compact Vdisk

  100 퍼센트 완료

DiskPart가 가상 디스크 파일을 압축했습니다.

 

3. 후기 

 드디어 파일을 삭제했을 때, 가졌어야 할 저장공간이 확보되었다.