Esto me ha dejado perplejo durante algún tiempo. Estoy en Ubuntu 11.04. Mi partición raíz se está llenando y no puedo entender la causa. Aún más extraño, cuando ejecuto df -h
, este es el resultado:
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 9.2G 8.8G 0 100% /
Como puede ver, debería haber unos 400 MB libres, pero Avail
muestra 0. ¿Qué podría estar causando esto? Incluso he desinstalado algunos programas para liberar espacio y se vuelve a llenar. También son bienvenidas las sugerencias sobre cómo saber qué archivos, si los hay, están llenando el espacio.
Respuesta1
Un primer intento: mucho tráfico en un registro de errores. Supongo que si descargaras vídeos, lo sabrías. :)
sudo du -sh /var/log
- -s es resumen
- -h es el sufijo legible por humanos (k, M, G, T)
Para mí son 20 M y, al lado del directorio de registro, hay un caché para las instalaciones. Usar
apt-get clean
Si este es tu problema.
Por supuesto, debes marcar /home si está en tu partición raíz.
Si tiene que buscar archivos grandes de forma iterativa, puedo sugerirle una serie de comandos, que pueden repetirse y son bastante rápidos después del primer paso inicial:
- Comienzas en un directorio sospechoso en el nivel superior.
- Luego busca todos los subdirectorios y archivos por su tamaño y los ordena numéricamente:
sudo du -s /var/* | sort -n
0 /var/crash
4 /var/www
44 /var/games
124 /var/run
2306 /var/tmp
18538 /var/log
251876 /var/cache
1053231 /var/lib
- Eliminé el ejemplo para que sea breve. Entonces vemos que el subdirectorio más grande es /var/lib y repetimos el paso para /var/lib. Ahora la búsqueda es mucho más rápida, porque los resultados calculados de alguna manera se almacenan en caché:
sudo du -s /var/lib/* | sort -n
78116 /var/lib/apt-xapian-index
104580 /var/lib/dpkg
680503 /var/lib/postgresql
etcétera. Siga los directorios más grandes para encontrar los archivos más grandes. No puedes usar -sh aquí, porque la clasificación numérica no funciona con k/M/G/T para kilobytes, etc.
Respuesta2
Cuando se formatea, el sistema de archivos ext2/3/4 reserva un cierto porcentaje de espacio en disco para uso exclusivo del usuario root. Por defecto es el 5%. El propósito de esto es que el sistema pueda continuar funcionando y pueda arrancar incluso si los usuarios sin privilegios llenan todo el espacio en disco disponible para ellos.
En general, llenarcualquierun sistema de archivos más allá del 95% de su capacidad no es una buena idea ya que esto causa una fragmentación excesiva que resulta en una degradación del rendimiento, incluso después de liberar espacio en el disco.
De man mke2fs
:
-m reserved-blocks-percentage
Specify the percentage of the filesystem blocks
reserved for the super-user. This avoids fragmenta‐
tion, and allows root-owned daemons, such as
syslogd(8), to continue to function correctly after
non-privileged processes are prevented from writing
to the filesystem. The default percentage is 5%.
Si está absolutamente desesperado, puede utilizar tune2fs
para cambiar este valor. Ver man tune2fs
para más información