0
MongoDB를 사용하여 3 백만 개의 레코드가 포함 된 모음에서 열을 제거하려고합니다. 내가이 명령을 실행하면이 RAM이 부족하고 서버가 묶였던되고 물리적으로 재부팅 할 필요까지
db.Listing.update({}, { $unset: { Longitude: 1 } }, false, true);
는 서버의 RAM 최대 이동하고 있습니다. 서버를 배치하지 않는 대규모 컬렉션에서 열을 제거하는 더 좋은 방법이 있습니까?
mongod가 시스템에있는 모든 것을 사용하고있는 것처럼 보이기 때문에 자원을 mongod로 제한하지 말 것을 말하면 재밌습니다. 저는 리눅스를 사용하지 않고 있습니다. 실제로 Windows Server 2008을 사용하고 있습니다. Windows Server 2008의 mongod 구현이 아직 좋지 않습니까? 내가 알아 차린 또 하나의 사실은 mongod가 컬렉션 캐싱에 사용할 메모리를 캡처하지만 메모리를 해제하지 않는다는 것입니다. 따라서 mongod 서비스를 자주 다시 시작하여 서버를 계속 작동시켜야합니다. – Justin
모든 구현은 메모리 맵 파일을 사용하며, 메모리를 할당하는 것은 OS의 임무입니다. "캐시 된"메모리에 대한 링크가 포함 된 섹션을 확인 했습니까? 그게 당신이 모든 기억을 의미하는 것입니까? –