32 비트 Ubuntu 16.04 LTS를 사용하여 4Gb 램으로 서버를 설정하려고하는데 도움을받을 수있는 흥미로운 문제가 발생했습니다.
파이썬으로이 새 서버에서 대용량 데이터 파일을 처리하려고하는데 파이썬이 메모리 오류로 충돌합니다 (램 실행). 여러 GB의 메모리로 스왑 파티션을 설정했지만 서버는 스왑을 거의 사용하지 않습니다.
대략 80Mb 상당의 스왑이 사용되고 있기 때문에 여기서 중요한 단어는 거의 없습니다. 따라서 시스템이 사용하고 있기 때문에 스왑이 올바르게 설정되었다고 생각합니다 (여기에서 틀리면 수정하십시오).
이제 저는 스왑 니스를 가지고 놀려고했지만 도움이되지 않는 것 같습니다 (현재 값은 100입니다).
이러한 대용량 데이터 파일의 처리는 야간에 발생하므로 스왑 사용으로 인한 성능 저하는 문제가되지 않습니다.
누구든지 우분투가 스왑 메모리를 사용하지 않고 메모리 오류를 던지는 이유를 나에게 설명 할 수 있습니까?
미리 감사드립니다.
건배, 힐버트
32 비트 프로세스는 실제 또는 가상 메모리를 4GB 이상 사용하지 않습니다.
사용 PAE [* 것은 상기 OS가 RAM 4GB 이상의 사용할 수 있지만, 각각의 프로세스는 여전히 가상 공간 4GB의 제한된다.
프로세스에서 이보다 더 많은 RAM을 사용하려면 64 비트 CPU, 64 비트 OS 및 64 비트 앱 (예 : Python 인터프리터)을 사용해야합니다.
32 비트 OS를 고수하려면 Python 프로세스를 각각 4GB RAM에서 사용하는 여러 프로세스로 분할 할 수 있는지 확인하십시오.
[*] IIRC의 모든 최신 32 비트 Ubuntu 커널에는 PAE 지원이 포함됩니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다