Impacto de la caché de disco en el resultado de Linux df

Impacto de la caché de disco en el resultado de Linux df

Tengo un problema en el que encasillar el df resulta poco confiable. Estoy usando el sistema de archivos xfs en sles 11 sp3.
Básicamente, hay una gran diferencia (unos pocos GB) entre el tamaño libre antes y después de borrar el caché del disco. Alguien sabe por qué el caché de disco utiliza almacenamiento adicional.
Por ejemplo:

VideoEdge:/ # df
Filesystem     1K-blocks      Used Available Use% Mounted on
...
/dev/sdb2      870942208 824794856  46147352  95% /mediadb
/dev/sdc1      975746564 924536548  51210016  95% /mediadb1
/dev/sdd1      975746564 153177500 822569064  16% /mediadb2

VideoEdge:/ # echo 3 > /proc/sys/vm/drop_caches 

VideoEdge:/ # df
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sdb2      870942208 822225756  48716452  95% /mediadb
/dev/sdc1      975746564 923374888  52371676  95% /mediadb1
/dev/sdd1      975746564 148323524 827423040  16% /mediadb2
VideoEdge:/ # df

Como se ve en lo anterior, hay más espacio disponible después de borrar el espacio en disco.

Usamos df para estimar cuánto espacio se puede usar y tratamos de eliminar datos antiguos cuando df dice que el almacenamiento está lleno en un 95%. Debido a que la caché del disco ocupa un espacio de almacenamiento impredecible, está causando problemas.

¿Alguien sabe por qué la caché del disco consumiría almacenamiento temporalmente? ¿Hay alguna manera de calcular cuánto ocupa el caché del disco o el máximo que puede tomar el caché del disco?

No queremos borrar el caché del disco, lo que puede afectar el rendimiento de vez en cuando.

VideoEdge:/ # df
Filesystem     1K-blocks      Used Available Use% Mounted on
rootfs           8259484   5592116   2247724  72% /
udev             2021220       228   2020992   1% /dev
tmpfs            2021220       144   2021076   1% /dev/shm
/dev/sda1        8259484   5592116   2247724  72% /
/dev/sda3      463282160  75389072 387893088  17% /var
/dev/sdb1      104804356     32928 104771428   1% /var/opt/americandynamics/venvr/clipexport
/dev/sdb2      870942208 821370196  49572012  95% /mediadb
/dev/sdc1      975746564 923423496  52323068  95% /mediadb1
/dev/sdd1      975746564 148299180 827447384  16% /mediadb2

/dev/sdb2 on /mediadb type xfs (rw,noatime,nodiratime,attr2,nobarrier,inode64,allocsize=4096k,noquota)
/dev/sdc1 on /mediadb1 type xfs (rw,noatime,nodiratime,attr2,nobarrier,inode64,allocsize=4096k,noquota)
/dev/sdd1 on /mediadb2 type xfs (rw,noatime,nodiratime,attr2,nobarrier,inode64,allocsize=4096k,noquota)

Respuesta1

Por favor mira:

¿Por qué mis sistemas de archivos XFS de repente consumen más espacio y están llenos de archivos dispersos?

Esto es el resultado de las características dinámicas de preasignación de XFS. Estos son básicamente buffers de archivos que fusionan escrituras para evitar la fragmentación de archivos. Hay un par de soluciones.

  • du --apparent-sizepuede ser útil.
  • Opciones de montaje para el sistema de archivos XFS como se detalla en lapregunta vinculada.

En ambos casos, su sistema de archivos está en un nivel peligrosamente lleno (95%+). La pequeña cantidad de espacio en el buffer es irrelevante, considerando que debería estar muy por debajo del 80% de utilización. También puedes utilizar los dfresultados porque eso es lo que realmente se utiliza en un momento dado.

información relacionada