Impacto do cache de disco no resultado do linux df

Impacto do cache de disco no resultado do linux df

Estou tendo um problema em que o revestimento do df não é confiável. Estou usando o sistema de arquivos xfs no sles 11 sp3.
Basicamente, há uma grande diferença (alguns GBs) entre o tamanho livre antes e depois de limpar o cache do disco. Alguém sabe por que o diskcache usa armazenamento extra.
Por exemplo:

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

Vendo pelo exposto, há mais espaço disponível após liberar espaço em disco.

Usamos o df para estimar quanto espaço pode ser usado e tentamos remover dados antigos quando o df diz que o armazenamento está 95% cheio. Como o cache do disco ocupa espaço de armazenamento imprevisível, está causando problemas.

Alguém sabe por que o cache do disco consumiria armazenamento temporariamente? Existe uma maneira de calcular quanto é consumido pelo cache de disco ou o máximo que pode ser ocupado pelo cache de disco?

Não queremos limpar o cache do disco, o que pode afetar o desempenho de tempos em tempos.

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)

Responder1

Por favor, veja:

Por que meus sistemas de arquivos XFS estão subitamente consumindo mais espaço e cheios de arquivos esparsos?

Isso é resultado dos recursos de pré-alocação dinâmica do XFS. Esses são basicamente buffers de arquivos que unem gravações para evitar a fragmentação de arquivos. Existem algumas soluções alternativas.

  • du --apparent-sizepode ser útil.
  • Opções de montagem para o sistema de arquivos XFS conforme detalhado nopergunta vinculada.

Em ambos os casos, o seu sistema de arquivos está em um nível perigosamente cheio (95%+). A pequena quantidade de espaço de buffer é irrelevante, considerando que você deve estar bem abaixo de 80% de utilização. Você também pode usar os dfresultados porque é isso que realmente está em uso a qualquer momento.

informação relacionada