
저는 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)
.
너무 큰 데이터(어레이 등)를 할당했나요?