¿Por qué los comandos "df" y "du" muestran un uso de disco diferente?

20

No puedo acceder al sistema ubuntu en mi pc, el mensaje de error: " el sistema se está ejecutando en modo de gráficos bajos " y probé algunos comandos que busqué desde Internet.

Descubrí que parece que no hay espacio disponible en el disco. Utilicé los comandos " df " y " du " para verificar, los resultados son los siguientes:

du -j --max-depth=1
23G  ./home
3.3G ./usr 
...... 
28G

y

df -Th 
filesystem   Type   size    used   available   use%    mounted on 
/dev/sda5    ext4   68G     68G    0           100%    /

¿cómo podría limpiar el sistema para obtener más espacio en el disco?

    
pregunta user2068965 11.04.2013 - 15:32

7 respuestas

38

Probablemente sepa que puede eliminar un archivo que aún está en uso en alguna aplicación y para esta aplicación permanece disponible. Es porque el descriptor de archivo en / proc / filesystem se mantiene abierto.

Entonces, si hay tales descripciones abiertas para los archivos ya eliminados, el espacio ocupado por ellos se considera usado por df (y df es correcto), pero no pueden ser tenidos en cuenta por du debido a que hay ya no hay nombres de archivos asociados a ellos.

Puede encontrar todos los archivos abiertos pero no enlazados con:

# lsof | grep '(deleted)'
    
respondido por el Dmitry Alexandrov 13.12.2013 - 15:45
13
  

¿Cómo puedo eliminar los enlaces? - Vikas Hardia 22 de agosto a las 5:46

Debe encontrar el proceso que contiene el manejador del archivo. Usa el comando de Dmitry Alexandrov, allí puedes ver el proceso y pid. En nuestro caso, el archivo de registro de barniz "antiguo" fue el asesino espacial.

# lsof | grep '(deleted)'
[...]
varnishlo 13978       varnishlog    3w      REG              252,1 318448027646    5926973 /var/log/varnish/varnish.log.1 (deleted)
apache2   16801         www-data    2w      REG              252,1        64550   13110120 /var/log/apache2/error.log.1 (deleted)
[...]
# service varnishlog stop
[or if there is no service script]
# kill -11 13978 (the second number of the lsof command is the pid)
[or may be] 
# kill -9 13978

No olvide iniciar el servicio o procesar nuevamente si se trata de un demonio u otro servicio en su computadora. Si puede, simplemente reinicie la computadora;)

    
respondido por el Octeny 13.08.2015 - 09:04
8

Bien, revisemos las páginas man:

  

df: informe del uso del espacio de disco del sistema de archivos

y

  

du - estimación uso de espacio de archivos

Esas dos herramientas estaban pensadas para diferentes propuestas. Mientras df es para mostrar el uso del sistema de archivos, du es para informar el uso del espacio de archivos. du funciona desde archivos mientras df funciona en el nivel del sistema de archivos, informando lo que el núcleo dice que tiene disponible. Continúa leyendo la página de manual de du compatible con esto:

  

Resume el uso del disco de cada ARCHIVO , de forma recursiva para los directorios.

dice que du funciona con archivos.

  

df muestra el          cantidad de espacio en disco disponible en el sistema de archivos que contiene cada archivo          nombre argumento Si no se proporciona un nombre de archivo, el espacio disponible en todos          actualmente se muestran los sistemas de archivos montados.

aquí dice que df no se preocupa por los archivos, sino por el propio sistema de archivos.

    
respondido por el Braiam 13.12.2013 - 15:29
2

Simplemente dicho:

Ejecutó du sin permisos de root. Por lo tanto, no puede verificar el espacio disponible en /proc , /mnt , etc, carpetas.

df mostró el total utilizado & amp; espacio libre respectivamente.

Así que cuando compruebe el sistema de archivos raíz de Linux, tome el informe du como final.

    
respondido por el Sekra Invos 13.12.2013 - 14:22
0
df

Resumir espacio libre en el disco

Muestra la cantidad de espacio disponible en el disco.

du

Resume el uso del disco.

Muestra la cantidad de espacio de disco utilizado.

    
respondido por el Mitch 11.04.2013 - 15:46
0

nada tan confuso: aquí está el aspecto: =

1) du == Uso de disco
  ¿Cuánto espacio de disco están usando estos archivos?

2) df == Disk Free
   ¿Cuánto espacio libre en disco tenemos?

También para el sistema se está ejecutando en modo de gráficos bajos ' aquí '

    
respondido por el Avani badheka 03.01.2017 - 05:38
0

Lo hice
sudo du -hxa / | egrep '^[[:digit:]]{1,1}G[[:space:]]*'

¡Eso explica exactamente la gran discrepancia de 21 GB que estaba viendo!
¡El archivo en cuestión era / swap file si 21 GB !!

    
respondido por el user727981 21.08.2017 - 22:13

Lea otras preguntas en las etiquetas