¿Por qué df y du muestran una salida diferente?

8

Cuando ejecuto el comando df -h /tmpdice que la utilización del disco es del 100% , pero cuando lo intenta du -sh /tmpdice que la utilización del disco es del 2% .

Quiero saber por qué estos comandos muestran resultados diferentes, cómo funcionan estos dos comandos y cuál es la solución a este problema.

Contexto: /tmp está instalado en su propio sistema de archivos. Estoy usando Ubuntu 12.04 server edition en mi cuenta VPS. Debido a este problema, la utilización del /tmp100% según dfalgunos programas se queja del espacio libre en /tmp.

Nischay
fuente

Respuestas:

10

du informa el espacio libre escaneando inodos accesibles y calculando su tamaño.

Si se crea, abre y luego elimina un archivo mientras aún está abierto, el programa que lo abrió continuará teniendo acceso al archivo, y las escrituras y lecturas se pueden realizar en esa ubicación de memoria en el disco. duno tiene en cuenta dichos archivos abiertos, mientras que dfsí.

Un simple reinicio debería enjuagar / tmp y resolver su problema.

Una alternativa sería escanear archivos abiertos y reiniciar o eliminar el proceso que no liberó los archivos eliminados.

Mahesh
fuente
1

Algunos archivos en el sistema de archivos raíz se pueden ocultar detrás de un punto de montaje. Los archivos se pueden crear debajo del punto de montaje cuando el dispositivo correspondiente no está montado, y cuando el dispositivo se monta de nuevo, los archivos no se cuentan por comando. Problema muy probable, cuando existe una gran diferencia entre los resultados du y df.

Mella
fuente
Bingo. Esta fue la causa para mí.
jdhildeb
-1

Asegúrate de hacerlo sudocuando corras du. Por ejemplo, si ejecuta du -hs /*, no verá el uso real del disco a menos que agregue sudo.

raimohanska
fuente