![스왑 공간이 부족하여 프로세스가 종료되었습니다.](https://linux55.com/image/62267/%EC%8A%A4%EC%99%91%20%EA%B3%B5%EA%B0%84%EC%9D%B4%20%EB%B6%80%EC%A1%B1%ED%95%98%EC%97%AC%20%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EA%B0%80%20%EC%A2%85%EB%A3%8C%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
저는 Mac OSX Yosemite에서 Python(2.7) 스크립트를 실행하고 있습니다.
스크립트는 상당히 계산 집약적이며 확실히 내 컴퓨터의 RAM 제한을 초과합니다. 스크립트를 실행하는 동안 컴퓨터가 충돌하고 다시 시작되었습니다. 시스템 로그에는 /var/log/system.log
스왑 공간이 부족하기 때문임을 나타내는 메시지가 포함되어 있습니다.
kernel[0]: low swap: killing pid 1246 (mdworker)
...(다른 mdworker 프로세스에 대해 이와 같은 메시지가 더 많음)
kernel[0]: low swap: unable to find any eligible processes to take action on
... (충돌이 일어나기 한 시간 전에도 수십 번이나 말했음)
kernel[0]: low swap: killing pid 1711 (mdworker)
이 충돌을 어떻게 방지할 수 있나요?
답변1
OS나 프로그램(mdworker)을 실행하는 머신(메모리 관련)을 바꾸지 않으면 이런 크래시를 막을 방법은 없다고 생각합니다.
실제로 할당 가능한 메모리는 다음과 같지만 RAM+(SWAP SPACE)
귀하의 프로그램 mdworker가 제한을 초과한 것 같습니다 (RAM+SWAP SPACE)
.
너무 큰 데이터(어레이 등)를 할당했나요?