GNU/Linux >> Tutoriales Linux >  >> Linux

¿Puedo ver el progreso de una operación de `sincronización`?

Mirando /proc/meminfo mostrará el Dirty el número se reduce con el tiempo a medida que se acumulan todos los datos; parte de ella puede derramarse en Writeback también. Ese será un resumen contra todos los dispositivos, pero en los casos en que un dispositivo en el sistema es mucho más lento que el resto, generalmente terminará donde todo en esa cola está relacionado con él. Probablemente encontrarás el Dirty número grande cuando empiezas y el sync termina aproximadamente al mismo tiempo que se acerca a 0. Intente esto para obtener una pantalla interactiva:

watch -d grep -e Dirty: -e Writeback: /proc/meminfo

Con discos regulares normalmente puedo ignorar Writeback , pero no estoy seguro de si está involucrado con mayor frecuencia en la ruta de transferencia USB. Si solo rebota hacia arriba y hacia abajo sin una tendencia clara, probablemente solo puedas mirar el Dirty número.


Puedes mirar el /sys/block/<device>/stat archivo para el dispositivo adecuado mientras realiza la sincronización. La columna 9 indicará la cantidad de solicitudes en curso en el dispositivo, que deberían reducirse a cero cuando se complete la sincronización.
No conozco una forma de traducir eso a una cantidad de bytes, pero debería darle una idea aproximada de cuántas "cosas" aún están pendientes.

Consulte el archivo stat.txt en la documentación del kernel para obtener un poco más de información. (También hay un inflight archivo en ese directorio en mi sistema que parece que podría contener solicitudes de lectura y escritura en curso, pero no puedo encontrar documentos para eso).


Al usar la respuesta de Greg, simplemente puede tener sync ejecutar en segundo plano mientras se muestra el estado del bloque sucio en la memoria.

Para lograr esto, simplemente ejecute este comando:

sync & watch -n 1 grep -e Dirty: /proc/meminfo

Esto llamará a sync en segundo plano mientras se ejecuta watch al frente. Cuando el sync el comando habrá terminado (alrededor de cuando el tamaño del bloque sucio haya llegado a 0), tendrá una salida similar a esta:

1]  + 27260 done        sync

Esto significa que el comando ha terminado y puedes eliminar el watch comando con Ctrl +C .


Linux
  1. ¿Cómo puedo obtener el estado del teclado en Linux?

  2. BlueZ en i.MX25:No se puede conectar el conector RFCOMM:Operación ahora en progreso

  3. ¿Cómo puedo controlar la longitud de la cola de aceptación?

  4. ¿Puedo cambiar el SID de una base de datos Oracle?

  5. ¿No puede encontrar .so en el mismo directorio que el ejecutable?

Mira videos de YouTube en la terminal de Linux

¿Qué es el comando Watch de Linux + ejemplos?

7 formas de usar el comando Watch de Linux

Copia de seguridad del directorio de inicio:la guía rápida y sucia

Solucione el error que no puede encontrar el comando hwmatch en Grub

Actualización continua de Netstat (el reloj cambia la salida)