Мой MemcacheQ запускается с:
memcacheq -d -r -H /db/baamboo -N -R -L 2048 -T 300 -l 192.168.6.29 -p 22211 -u memcacheq -t 8 -m 512 -P /var/run/baamboo.pid -v
Он съедает место на жестком диске. Нашел этот тема от Google, но я проверил справочную страницу: -e
вариант имеет другое значение:
-e <num> percent of the pages in the cache that should be clean, default is 60%
Так как отметка упомянутый в приведенной выше ссылке, я также очищаю файлы журнала с помощью db_archive -a -h ... | xargs rm -f
(memcacheq имеет -R
возможность сделать это автоматически). Но после этого __dbq.*
кажется, что файл не соответствует файлам журнала. Так что db_stat
претензии:
# db_stat -d BBKeyword
db_stat: PANIC: fatal region error detected; run recovery
...
что-то вроде этого: http://forums.oracle.com/forums/thread.jspa?threadID=2146996&tstart=15
Я не могу дать вам точный результат, потому что db_stat
бегут вечно и, кажется, зависают.
У меня много __dbq.*
файлы:
# ls -1 __dbq.* | wc -l
11849
Размер одного файла db составляет 4K * 16 * 1024 = 64 МБ, поэтому общий размер составляет 743 ГБ.
Беркли ДБ 4.7.25
ОБНОВЛЕНИЕ 1
# db_stat -d BBKeyword
Wed Aug 17 11:34:59 2011 Local time
db_stat: PANIC: fatal region error detected; run recovery
db_stat: PANIC: fatal region error detected; run recovery
db_stat: close: DB_RUNRECOVERY: Fatal error, run database recovery
db_stat: File handles still open at environment close
db_stat: Open file handle: BBKeyword
db_stat: Open file handle: queue.list
db_stat: Open file handle: BBUpdateViewQt
db_stat: Open file handle: BBUpdateViewVn
db_stat: Open file handle: BBUpdateViewYt
db_stat: Open file handle: log.0000083311
db_stat: Open file handle: ./__dbq.BBKeyword.285
db_stat: Open file handle: ./__dbq.BBKeyword.286
db_stat: Open file handle: ./__dbq.BBKeyword.287
db_stat: Open file handle: ./__dbq.BBKeyword.288
db_stat: PANIC: fatal region error detected; run recovery
db_stat: dbenv->close: DB_RUNRECOVERY: Fatal error, run database recovery
db_verify
дать много плохих номеров страниц:
...
db_verify: Page 16379: bad page number 4734972
db_verify: Page 16380: bad page number 4734973
db_verify: Page 16381: bad page number 4734974
db_verify: Page 16382: bad page number 4734975
db_verify: Page 16383: bad page number 4734976
db_verify: __dbq.BBKeyword.288: DB_VERIFY_BAD: Database verification failed
Итак, я прекращаю memcacheq
и беги db_recover
:
# db_recover -v -h /data/memcacheq/db/baamboo/
Finding last valid log LSN: file: 83311 offset 1795753
Recovery starting from [83310][1429052]
Recovery complete at Wed Aug 17 12:03:09 2011
Maximum transaction ID 8000ac4f Recovery checkpoint [83311][1796460]
и проверьте еще раз с db_verify
:
# db_verify -h . __dbq.BBKeyword.288
db_verify: Page 0: metadata page corrupted
db_verify: Page 0: could not check metadata page
db_verify: __dbq.BBKeyword.288: DB_VERIFY_BAD: Database verification failed
Похоже, вы пытаетесь использовать проверку в файле региона, а не в файле базы данных. Видеть эта ветка в OTN.