스왑 공간이 부족하여 프로세스가 종료되었습니다.

스왑 공간이 부족하여 프로세스가 종료되었습니다.

저는 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).

너무 큰 데이터(어레이 등)를 할당했나요?

관련 정보