1 votos

Confusión por las banderas de la caché de escritura

Quiero maximizar el rendimiento de mi disco duro activando la caché de escritura. Entiendo los riesgos de hacer esto, pero creo que son insignificantes para el uso que le voy a dar.

En el Propiedades HD en Windows, las dos últimas opciones son un poco confusas:

Enable write caching on device - Vale, pero ¿cómo funciona eso junto con la opción anterior? ¿Anula la caché de Windows o funciona junto a ella?

Turn off Windows write cache - Vale, pero por qué iba a hacer esto. Y si marco esta casilla entonces el Mejor rendimiento sigue seleccionada, contradiciéndose a sí misma.

¿Puede alguien aclarar qué hacen exactamente estas banderas y cómo se afectan/dependen unas de otras?

enter image description here

1voto

Saïmonn Puntos 101

La segunda opción no es el "caché de Windows" como dices, sino la inhibición de la llamada al sistema "flush": Turn off Windows write cache **buffer flushing**

Esta opción deshabilitaría el comando flush llamado por alguna aplicación (y al apagar la máquina), cuyo propósito es escribir efectivamente el caché del disco.

No desactivará la caché de escritura.

Puedes intentar activar esta opción, a riesgo de perder datos, pero dependiendo de tu contexto, la ganancia de rendimiento puede no ser perceptible.

1voto

Realmente la diferencia se pone de manifiesto en las Políticas de Eliminación. Esto parece una pregunta similar a: https://superuser.com/questions/215372/what-does-write-cache-buffer-flushing-mean

1voto

jcollum Puntos 10236

Hay que entender cómo se escriben los datos en el disco.

Tienes un par de subsistemas involucrados en el proceso de escribir los datos del proceso al disco físico.

Normalmente los procesos están pidiendo al kernel (el SO) que escriba algo en el disco. También el propio núcleo puede escribir algunos datos en el disco, por ejemplo, como una operación de intercambio.

Las páginas de memoria que deben escribirse en el disco se guardan en una región de la memoria física llamada caché del sistema de archivos y se llaman páginas sucias, y se escribirán en el disco si una de las condiciones es verdadera:

  • el proceso está pidiendo al kernel que escriba los datos en el disco usando FlushFileBuffers llame a
  • después de un tiempo determinado desde la última escritura en disco
  • si no hay memoria libre para la caché del sistema de archivos (es una decisión compleja que toma el núcleo si debe descartar las páginas no sucias, escribir en el disco las sucias, intercambiar las páginas de memoria inactivas, etc...)

Ahora los datos irán al disco, pero el subsistema de disco tiene 2 componentes que son importantes de esta explicación:

  • el controlador del disco, que es la placa electrónica del disco
  • la memoria permanente, que puede ser un disco magnético o una memoria flash

Moderno controladores de disco tienen algunos módulos de memoria que se llaman buffer de disco . Si esto está activado, los datos que se envíen al subsistema de disco se escribirán en el buffer del disco y la operación se considerará completada por el SO y los programas, pero los datos aún no están en el disco. El problema con esto es que si usted reinicia su máquina tiene muchas posibilidades de perder datos. Es posible que no te des cuenta de esto hasta que tengas una corrupción del sistema de archivos, o una corrupción de la base de datos.

Estas son algunas de las razones por las que los procesos o el sistema operativo necesitan vaciar los datos en el disco:

  • tienen un revista para un sistema transaccional como una base de datos o un sistema de archivos, y necesitan reforzar la consistencia y la integridad de los datos escritos en el disco.
  • terminaron una operación importante, como la creación de un archivo y el búfer del disco quieren asegurarse de que todo el archivo está en el disco
  • mala programación

La configuración actual es el mejor compromiso entre rendimiento y seguridad, a menos que tengas un SAI (sistema de alimentación ininterrumpida).

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: