4 votos

Datos sincronización de comportamiento para los sistemas de archivos en Windows

En Linux soportes de montaje commit opción, que se describe en el monte(8) el hombre de la página como:

commit=nrsec
       Sync all data and metadata every nrsec seconds. The default
       value is 5 seconds. Zero means default.

En Windows caché de escritura no simultánea sólo puede funcionar si usted tiene Removal policy conjunto a Better performance en almacenamiento, Policies. Supongamos que es encendido.

Es allí cualquier manera similar afinar la caché de escritura comportamiento en Windows se puede hacer en Linux?


En Linux junto a commit opción, que debe ser soportado por el sistema de archivos montado tipo surta efecto, hay también un par de importantes VM ajustes que crean restricciones adicionales con respecto a la escritura de la caché de comportamiento y puede ser cambiado por el eco de los nuevos valores a los archivos en particular en /proc/sys/vm/ directorio, que se describe en la Documentación de /proc/sys/vm/* como:

  • dirty_background_bytes

    Contiene la cantidad de sucio a la memoria en la que el pdflush fondo de reescritura daemon se iniciará de reescritura.

    Nota: dirty_background_bytes es la contrapartida de dirty_background_ratio. Sólo uno de ellos puede ser especificada en un momento. Cuando uno sysctl está escrito es inmediatamente se toma en cuenta para evaluar el sucio de los límites de la memoria y la otros aparece como 0 cuando se leen.

  • dirty_background_ratio

    Contiene, como porcentaje del total de memoria del sistema, el número de páginas en el que el pdflush fondo de reescritura demonio va a empezar a escribir los datos sucios.

  • dirty_bytes

    Contiene la cantidad de sucio a la memoria en la que un proceso de generación de las escrituras en disco lo hará a sí mismo inicio de reescritura.

    Nota: dirty_bytes es la contrapartida de dirty_ratio. Sólo uno de ellos puede ser especificada en un momento. Cuando uno sysctl está escrito es inmediatamente tomado en cuenta para evaluar el sucio de los límites de memoria y el otro aparece como 0 cuando leer.

    Nota: el valor mínimo permitido para dirty_bytes es de dos páginas (en bytes); un valor inferior a este límite será ignorado y la antigua configuración será se conservan.

  • dirty_expire_centisecs

    Este sintonizable se utiliza para definir cuando sucio de datos tiene la edad suficiente para ser elegible para writeout por el pdflush demonios. Se expresa en 100'ths de un segundo. Los datos que han sido sucio en la memoria por más tiempo que este intervalo será de escritos la próxima vez que un pdflush demonio despierta.

  • dirty_ratio

    Contiene, como porcentaje del total de memoria del sistema, el número de páginas en el que un proceso que está generando el disco se escribe a sí mismo inicio de la escritura de sucio de datos.

  • dirty_writeback_centisecs

    El pdflush de reescritura demonios periódicamente se despierta y escribir `viejo' de datos fuera del disco. Este sintonizable expresa el intervalo entre los despertadores, en 100'ths de un segundo.

    Ajuste a cero deshabilita el periódico de reescritura por completo.

(De hecho pdflush hilos no están disponibles en Linux, ya que fueron sustituidas por copias de información del dispositivo de lavado hilos de hace un par de años, pero es la sutileza. Usted puede leer más acerca de esto en LWN.net artículo Lavado de pdflush si usted está interesado.)

En aras de la exhaustividad, la configuración por defecto en el kernel de Linux v3.2 son (marcada en debian wheezy):

/proc/sys/vm/dirty_background_bytes:0
/proc/sys/vm/dirty_background_ratio:10
/proc/sys/vm/dirty_bytes:0
/proc/sys/vm/dirty_expire_centisecs:3000
/proc/sys/vm/dirty_ratio:20
/proc/sys/vm/dirty_writeback_centisecs:500

¿Windows exponer cualquier configuración similar para su VM subsistema o tal vez en cada unidad de disco/partición?

4voto

Ryan Ries Puntos 33449

Me puede decir a la derecha del palo que usted no será capaz de configurar el estándar de Microsoft controlador de almacenamiento con que mucho de granularidad.

Esta es una pregunta difícil, porque el Administrador de Memoria y el Administrador de Caché y el sistema de disco en Windows están todos en constante evolución. El asesoramiento que usted consigue para Windows 2000 puede ser irrelevante para Windows 2003, que puede ser irrelevante para Windows 2008, etc. En la parte superior de eso, también tiene aplicaciones como SQL Server integral de los administradores de caché de su propio que puede ser totalmente afectado por o reaccionar de forma impredecible a los cambios que realice en el sistema operativo caché del sistema de archivos. En la parte superior de que, este es el tipo de funcionalidad que sería tomado por un tercero controlador de almacenamiento si usted usa uno. Se puede asumir que la proporcionada por Microsoft es más genérico y por lo tanto menos configurable que un conductor puede obtener a partir de Intel o HP que es especializado para su hardware. Muchas proveedor controladores requieren que Windows la memoria caché de escritura ser desactivado para activar su propia caché de escritura, etc.

Todo lo que dijo, yo podría ser capaz de ayudarle. Ya no especificar qué versión de Windows, y como dije, las cosas como rutas de registro y los valores y las funciones pueden cambiar totalmente entre las versiones de Windows, voy a asumir 2008R2/Win7.

A partir de este MS artículo:

De forma predeterminada, Windows almacena en caché los datos del archivo que se lee de discos y escrito a los discos. Esto implica que las operaciones de lectura de datos de archivo de lectura de un área de la memoria del sistema conocido como el sistema de archivo de caché, en lugar que desde el disco físico. En consecuencia, las operaciones de escritura escribir archivo de datos para el sistema de archivo de caché en lugar de en el disco, y este tipo de caché se conoce como caché de escritura no simultánea. El almacenamiento en caché es administrado por objeto de archivo.

El almacenamiento en caché se produce bajo la dirección del administrador de caché, que funciona de manera continua mientras se está ejecutando Windows.

Cuando me alterar esas casillas de verificación en el Administrador de Dispositivos de Windows para Habilitar el almacenamiento en caché de escritura en el dispositivo" y "desactivar Windows de caché de escritura de tampón de lavado," estos cambios se reflejan en el registro de valores en HKLM\SYSTEM\CurrentControlSet\Enum\<IDE>\<DiskName>\<Serial Number>\Device Parameters\Disk\CacheIsPowerProtected = 1, etc. Los valores que he puesto entre paréntesis son variables.

Pero estoy divagando. Desea alterar el comportamiento de la caché de archivos. Tal como hace a ras con más o menos frecuencia.

Usted dijo que estaban interesados en las llamadas a la API, lo cual es bueno, porque creo que usted estará interesado en Microsoft Windows Dinámico Servicio de Caché. Creo que fue escrito por este hombre. La muestra se incluye el código fuente.

Una advertencia para Win7/2008R2:

La gestión de la memoria de los algoritmos en Windows 7 y Windows Server 2008 R2 sistemas operativos se han actualizado a la dirección de muchos de archivo de almacenamiento en caché los problemas encontrados en versiones anteriores de Windows. Sólo hay algunas únicas situaciones en las que necesita para implementar este servicio en los equipos que ejecutan Windows 7 o Windows Server 2008 R2.

Esencialmente, usted utilizará la SetSystemFileCacheSize() función de API de Win32. Mira esto:

MinimumFileCacheSize [en]

El tamaño mínimo de la caché de archivos, en bytes. El administrador de memoria virtual intenta mantener al menos este memoria residente en la caché del sistema de archivos.

Para vaciar la caché, especificar (SIZE_T) -1.

Esto implica que usted puede vaciar la caché a voluntad, en cualquier horario que más le agrade.

Buena suerte!

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: