BGREWRITEAOF는 어떻게 ERR을 반환 할 수 있습니까?


1

항상 문자열 값을 반환하는 상태에 대한 설명서입니다BGREWRITEAOF .BGREWRITEAOFOK

글쎄, 오늘 BGREWRITEAOF내 redis-server 2.6.7로 보냈고 (error) ERR응답을 받았다 .

maxmemory3G이고; appendonly입니다 yes. 이 시스템에는 4GB의 RAM이 있습니다.

어떻게 된 거예요?

답변:


1

AOF를 다시 작성하는 백그라운드 스레드에 메모리가 부족합니다. 로그는 다음과 같이 몇 백 ms마다 반복되었습니다.

[2435] * Starting automatic rewriting of AOF on 302% growth
[2435] # Can't rewrite append only file in background: fork: Cannot allocate memory

Redis는 백그라운드 스레드가 고착 된 루프에 들어가서 BGREWRITEAOF새 스레드 를 시작할 수 없었습니다. Redis 서버를 다시 시작하면 몇 초의 가동 중지 시간으로 서버를 수정했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.