¿Deshabilitar la pregeneración automática de DAG?

Estoy trabajando en una cadena de bloques privada (actualmente bloque #16117). También he pregenerado el DAG para la época 1. Entonces, comencé la instancia de geth con --autodag=false. Sin embargo, sigo recibiendo el siguiente mensaje cuando empiezo a minar:

I0707 10:24:57.871976 eth/backend.go:452] Automatic pregeneration of ethash DAG ON (ethash dir: ~/.ethash)

No estoy seguro de cómo deshabilitar esto. ¿Está --autodag=falsemal el comando? ¿Hay alguna manera de hacer esto desde la consola de JavaScript?

versión geth - 1.4.9-estable

¿Por qué desea deshabilitar la generación de DAG? por curiosidad.
@niksmac Mientras extraía mi cadena de bloques privada, la generación automática de DAG para la época 1 comenzó en el bloque n.º 16092. Tenía muchos procesos ejecutándose en ese momento y la generación de DAG falló debido a la poca memoria que finalmente detuvo el proceso de minería. Entonces, generé previamente DAG para la época 1 y luego comencé a minar nuevamente. Quiero deshabilitar esto porque no quiero que el minero se bloquee mientras genera DAG para la época 2 nuevamente.
De acuerdo, entonces se supone que DAG contiene el trabajo anterior que ha realizado para probar su trabajo; PoW, por lo que tiene que volver a crear para que coincida con los nuevos bloques en él. la forma en que lo hago es eliminar los datos de la cadena y comenzar desde el bloque n. ° 1
Sí. Comenzar de nuevo desde el principio es una solución temporal, pero eso eliminaría todos los datos, lo cual no es deseable. Vi esta --autodagopción geth --helppero no supe cómo usarla.
@variable Me enfrento al mismo problema. Mi nodo tiene 2 GB de RAM, por lo que debido a la poca memoria durante la extracción, la generación de DAG siempre falla y me obliga a eliminar el archivo /.ethash, comenzar a extraer y volver a crear archivos DAG desde cero. ¿La desactivación autodagresolvió tu problema?
@Avatar Sí. Eso resolvió el problema.

Respuestas (2)

Establecer la --autodagopción en falseno parece funcionar. Escribí este comando en la consola JS y funcionó:

miner.stopAutoDAG()

Producción:

I0708 11:01:29.112749 eth/backend.go:498] Automatic pregeneration of ethash DAG OFF (ethash dir: ~/.ethash)

Solo para agregar a la respuesta aceptada ...

La --autodagbandera no toma un valor, por lo que no se puede establecer en false.

El DAG siempre se generará previamente si la minería está habilitada desde la CLI usando la --minebandera. Lo que la --autodagbandera le permite hacer es pregenerar el DAG incluso si la minería no está habilitada.

La parte pertinente del código está en flags.go:

AutoDAG:   ctx.GlobalBool(AutoDAGFlag.Name) || ctx.GlobalBool(MiningEnabledFlag.Name),