Estoy un poco desconcertado por la forma en que los informes ext4 utilizan el espacio. En una nueva instalación (de prueba) de Debian wheezy, utilicé constantemente alrededor de 1 GB de espacio adicional con un SSD de 60 GB, en comparación con du
. Luego inicié en red esa computadora y monté el SSD. El sistema operativo arrancado en red (Debian squeeze) muestra solo 180 MB de espacio adicional utilizado en el SSD. El diario tiene 128 MB, por lo que ya no hay mucho más que eso.
¿Cuál es el espacio adicional utilizado que informa df
, cuando no es espacio reservado para archivos raíz o eliminados? El uso de Google provoca principalmente las causas habituales, que he descartado. ¿Y por qué esa cantidad difiere en el mismo sistema de archivos cuando se monta en diferentes sistemas operativos? Probé esto reinstalándolo, y el uso adicional fue nuevamente de ~1 GB en la instalación con sibilancias y 180 MB cuando inicié en red y monté ese SSD.
En XFS y btrfs, el uso adicional reportado parece insignificante. Me doy cuenta de que el sistema de archivos necesita algo de sobrecarga, pero es inconveniente cuando esa sobrecarga se mezcla con el uso real.
A continuación se muestran algunos resultados detallados.
df
$ df -m on wheezy
Filesystem 1M-blocks Used Available Use% Mounted on
rootfs 57132 1567 52703 3% /
udev 7899 0 7899 0% /dev
tmpfs 1581 1 1581 1% /run
/dev/mapper/ssd-kvmhost 57132 1567 52703 3% /
tmpfs 5 0 5 0% /run/lock
tmpfs 3162 0 3162 0% /tmp
tmpfs 3162 0 3162 0% /run/shm
du
$ du -sm /
592 /
tune2fs
muestra que el recuento de inodos es 3670016 y el tamaño 256, lo que de hecho explica casi todo el espacio utilizado. Simplemente no entiendo por qué esto no se resta del Tamaño, ya que los inodos están reservados estáticamente. Contarlo como espacio y luego contarlo siempre como usado no tiene mucho sentido.
Aquí está el resultado para el mismo sistema de archivos, desde Debian squeeze arrancado en red:
aufs 7905 46 7859 1% /
tmpfs 7905 0 7905 0% /lib/init/rw
udev 7900 1 7900 1% /dev
tmpfs 7905 1 7905 1% /dev/shm
172.17.172.127:/storage/private/tftp/debian-live-6.0.3-amd64-lxde-desktop
24737 17448 7289 71% /live/image
tmpfs 7905 46 7859 1% /live/cow
tmpfs 7905 0 7905 0% /live
tmpfs 7905 1 7905 1% /tmp
/dev/mapper/ssd-kvmhost
56337 772 52703 2% /mnt
Y solo para confirmación, du -sm / en el sistema operativo iniciado en la red:
592 /
¿Quizás el kernel más antiguo no cuenta sabiamente el espacio de inodo reservado estáticamente como utilizable y, por lo tanto, no tiene que mostrarlo como usado? La diferencia es de 795MB tanto en Tamaño como en Usado, casi todo el espacio necesario para los inodos. ¿Cuáles son los 180 MB entonces? Si eso también es estático, ¿no sería óptimo restarlo también del Tamaño? Entonces df
podría mostrar un uso real, como parecen hacer otros sistemas de archivos.
A mi modo de ver, si mi sistema de archivos necesita una cantidad estática de sobrecarga, entonces simplemente proporciona menos espacio utilizable que otros sistemas de archivos para la misma cantidad de espacio absoluto. ¿No debería reflejar eso y también mostrar cuánto delespacio utilizable¿He usado?
Respuesta1
ext[234] de forma predeterminada reserva 8192 inodos por grupo de bloques de 128 mb, lo que requiere 2 mb, por grupo, lo que equivale a cerca de 1 gb para un sistema de archivos de 60 gb. No debería haber ninguna diferencia cuando monte la unidad en otro sistema. Parece que pueden haber cambiado la forma en que los informes del kernel utilizan el espacio entre sibilancias y compresión, aunque todavía no he encontrado una confirmación que indique que esto se hizo a propósito.
Respuesta2
Su pregunta sería más fácil de responder si proporcionara el resultado de df y du.
Pero suena mucho a df dice que tengo 20G más de espacio en disco utilizado que du. ¿Por qué?
Básicamente, su sistema de archivos utiliza parte del disco para sus propios metadatos, es decir, no los archivos en sí, sino para realizar un seguimiento de los archivos, sus nombres, sus permisos, su ubicación en el disco, etc.
Como dice la respuesta que vinculé anteriormente, ejecutar tune2fs -l <device name>
le mostrará más información. En particular, inode count
x inode size
debería estar cerca de la diferencia entre df
y du
.
Nuevamente, según la respuesta anterior, la partición raíz de mi sistema utiliza aproximadamente el 1,77% del disco para inodos. 60 GB * 0,0177 ~= 1 GB.
Sospecho que la cifra de 180 MB es incorrecta, pero no puedo estar seguro sin más detalles, por ejemplo, la salida de mount
su sistema iniciado en red. Por ejemplo, tal vez se deba a laminixdf
/bsddf
opción de montaje.