앞서 올린 주피터 노트북 메모리 확장을 했는데도 커널이 또 죽었다. 이번엔 더 오래 버티긴 했지만 결국 문제가 발생한다는 점 때문에 메모리를 살펴보니 이전에 해제가 되어야 했던 메모리가 해제가 되지 않는 것 같았다.
for i in range(1000):
array = []
array.append([12,13,24])
print(array)
내 코드가 위처럼 되어 있었다. 반복문 안에서 array가 쓰이고 초기화가 되고를 반복하는 코드였다. 이때 파이썬은 반복문 안에 있는 경우에 대해선 메모리 해제를 하지 않고 반복문이 끝난 후 메모리 해제를 하는 듯하다. (내 추측이다.) 따라서 수동으로 메모리 해제를 해줘야 했다. 아래와 같이 했다.
for i in range(1000):
array = []
array.append([123,121,12])
del(array)
gc.collect()
del(array)를 해주면 array를 해제해 주고 마지막으로 해제된 공간을 수집하기 위해 gc.collect()를 호출해준다.(맞나?)
'컴퓨터' 카테고리의 다른 글
[Linux] Redirection 정리 (0) | 2022.03.27 |
---|---|
[Linux] 프로그램 설치 경로들 정리(스크랩) (0) | 2022.01.26 |
[Linux] 노트북 화면 닫아도 안 꺼지게 하기 (0) | 2022.01.22 |
[Python] 주피터 노트북 커널이 자꾸 죽을때 (0) | 2022.01.22 |
[Tensorflow] Blas xGEMV launch failed 오류 해결법 (0) | 2022.01.21 |