Deshabilite el caché de archivos de lectura y escritura de Linux en la partición


9

¿Cómo deshabilito el caché de archivos de Linux en una partición xfs (ambos leen y escriben)?

Tenemos una partición xfs sobre un RAID de hardware que almacena nuestro video RAW HD. La mayoría de los brotes son de 50-300 gb cada uno, por lo que el caché de Linux tiene una tasa de éxito del 0,001%.

He probado la opción de sincronización, pero aún llena el caché al hacer frente a los archivos.
(aproximadamente 30 veces más por sesión: P)

/ etc / fstab:

/ dev / sdb1 / video xfs sync, noatime, nodiratime, logbufs = 8 0 1

Estoy ejecutando Debian Lenny si ayuda.

Respuestas:


6

Hay una solución que se adapta perfectamente a su caso de uso: http://code.google.com/p/pagecache-mangagement/

Después de revisar el código fuente:

svn checkout http://pagecache-mangagement.googlecode.com/svn/trunk/ pagecache-mangagement-read-only

problema

make
sudo cp *.so /usr/local/lib/
sudo cp *.sh /usr/local/bin/

entonces, puede iniciar cualquier aplicación que desee con

pagecache-mangagement.sh <App>

¡y la aplicación no llenará tus cachés!


1
Esto era justo lo que necesitaba para un trabajo diferente, el mismo problema. Ahora mis otros programas pueden usar el caché allí donde es más útil.
— cómplice

6

La herramienta nocache está diseñada para un objetivo similar: evitar que comandos específicos estropeen la memoria caché del búfer actual. Simplemente anteponga ./nocachea su comando:

./nocache cp -a ~/ /mnt/backup/home-$(hostname)

Tenga en cuenta que la herramienta similar pagecache-mangagement: una herramienta para permitir la gestión del uso de pagecache de aplicaciones arbitrarias , como lo señaló rmetzger, todavía está en el mismo estado que en 2008. Por supuesto, eso puede ser bueno o malo, o una mezcla :) No tengo una comparación directa, pero le he pedido a la gente de nocache


5

Esto no se puede hacer limpiamente. Si necesita esto para ciertas aplicaciones, entonces deben modificarse para pasar O_DIRECTa sus open(2)llamadas.


Los archivos se escriben / leen con varias aplicaciones de terceros ... mv, md5sum, samba y similares. Tal vez pueda reemplazar algunos de estos con mi propia aplicación C en el futuro ... pero, por lo que puedo decir, samba dosnt tiene una opción O_DIRECT.
— cómplice

Este parece ser el armario que pude conseguir. Ahora estoy usando O_DIRECT para copiar de la tarjeta P2 al HDD y luego nuevamente de la tarjeta P2 a md5sum para verificar. Esto elimina la mitad inútil de la memoria caché, por lo que las únicas cosas que son archivos de video en caché en el HDD.
— cómplice

2

man raw. Puede vincular un dispositivo sin formato que omita el caché con eso. Tiene algunas restricciones. Solo lo he usado con dispositivos de CD / DVD, así que no sé qué tan bien funcionará para usted.


¿El comando sin formato enlaza el divice de una manera que puedo montar mi partición xfs en / video para usar con samba? La documentación y los resultados de Google parecen ser un poco vagos.
— cómplice

No deberías mezclarlos. Creo que puedes montar el nuevo dispositivo sin formato en su lugar.
— Keith

Bien, probaré esto en un viejo disco en blanco cuando tenga la oportunidad.
— cómplice
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.