2016-10-12 2 views
1

우분투 14.04.4 에 MongoDB 서버를 설치했는데 때로는 알 수없는 이유로 중지합니다. 아이디어가 있습니까?알 수없는 이유를 MongoDB가 중지합니다.

mongod 인스턴스를 시작하기 전후에 마지막 로그를 볼 수 있습니다.

2016-10-12T08:47:32.223+0000 I NETWORK [HostnameCanonicalizationWorker] Starting hostname canonicalization worker 
2016-10-12T08:47:32.222+0000 I FTDC [initandlisten] Initializing full-time diagnostic data capture with directory '/var/lib/mongodb/diagnostic.data' 
2016-10-12T08:47:31.727+0000 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=1G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0), 
2016-10-12T08:47:31.727+0000 W STORAGE [initandlisten] Recovering data from the last clean checkpoint. 
2016-10-12T08:47:31.727+0000 W - [initandlisten] Detected unclean shutdown - /var/lib/mongodb/mongod.lock is not empty. 
2016-10-12T08:47:31.727+0000 I - [initandlisten] Detected data files in /var/lib/mongodb created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'. 
2016-10-12T08:47:31.700+0000 I CONTROL [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1,server_ip", port: 27017 }, storage: { dbPath: "/var/lib/mongodb", journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } } 
2016-10-12T08:47:31.700+0000 I CONTROL [initandlisten] target_arch: x86_64 
2016-10-12T08:47:31.700+0000 I CONTROL [initandlisten] distarch: x86_64 
2016-10-12T08:47:31.700+0000 I CONTROL [initandlisten] distmod: ubuntu1404 
2016-10-12T08:47:31.700+0000 I CONTROL [initandlisten] build environment: 
2016-10-12T08:47:31.700+0000 I CONTROL [initandlisten] modules: none 
2016-10-12T08:47:31.700+0000 I CONTROL [initandlisten] allocator: tcmalloc 
2016-10-12T08:47:31.700+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.1f 6 Jan 2014 
2016-10-12T08:47:31.700+0000 I CONTROL [initandlisten] git version: 79d9b3ab5ce20f51c272b4411202710a082d0317 
2016-10-12T08:47:31.700+0000 I CONTROL [initandlisten] db version v3.2.10 
2016-10-12T08:47:31.700+0000 I CONTROL [initandlisten] MongoDB starting : pid=4487 port=27017 dbpath=/var/lib/mongodb 64-bit host=db-server 
2016-10-11T06:54:31.233+0000 I ACCESS [conn1] Successfully authenticated as principal agent on admin 
2016-10-11T06:54:29.641+0000 I ACCESS [conn6] Successfully authenticated as principal agent on admin 

참고 : 나는 바인딩 IP를 제외한 config 파일에 아무것도 변경되지 않았습니다.

UPDATE 내가 syslog 파일을 보면

;

Oct 11 02:54:38 db-server kernel: [] Out of memory: Kill process 26603 (mongod) score 687 or sacrifice child 
Oct 11 02:54:38 db-server kernel: [] init: mongod main process (26603) killed by KILL signal 
+0

mongo 로그에 오류가있는 것처럼 보이지 않습니다. OS 로그 (버전에 따라/var/log/messages,/var/log/syslog, journalctl mongo)를보고 붙여 넣을 수 있습니까? 관련성이있는 무엇인가? –

+0

@MattInnes 질문을 업데이트합니다. 기억과 같은 모양이 문제입니다. mongodb의 최대 메모리 사용량을 어떻게 설정할 수 있습니까? –

답변

1

mongo 프로세스가 Linux 메모리 부족 킬러에 의해 종료 된 것처럼 보입니다. 이것은 일반적으로 컴퓨터의 메모리가 부족하고 OS가 손상되지 않도록하기 위해 무언가를 죽일 필요가있을 때 발생합니다.

수행 할 작업에 대한 지침을 제공 할 수 있습니다.

OOM Killer

은 또한 적은 메모리에 몽고를 실행하려고 할 수 있지만, 몽고는 메모리 사용을 제한하도록 구성하기 어려울 수 있습니다 : 당신은 몇 가지 조언이 문서에서 좀 걸릴 수 있습니다. - 우분투 서버에 얼마나 많은 메모리를 당신이해야합니까

Easy Steps to Limit Mongodb Memory Usage

당신이 몽고를 실행할 수있는 상자에 충분한 RAM이없는 될 수 있습니다 여기에 몇 가지 지침이있다?

+0

답변 해 주셔서 감사합니다. 나는 그것을 시도 할 것이다. 1GB의 메모리가 있으며, 현재 살기 위해 테스트 할 때 4GB로 늘릴 계획입니다. 언젠가는 충분할 것입니다. –

+1

WiredTiger (로그에 따라 사용중)는 캐싱을 위해 1Gb의 최소값 (https://docs.mongodb.com/manual/core/wiredtiger/#wiredtiger-ram)을 사용합니다. 실행에 문제가있을 수 있습니다. 서버에서 다른 것을 많이 실행하지 않는다면 2Gb는 괜찮습니다. –

관련 문제