Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

du, df, occupation mémoire : un pb !!

68 views
Skip to first unread message

pg

unread,
Aug 1, 1995, 3:00:00 AM8/1/95
to
du et df ne donnent pas les memes résultats chez moi !

# du -s -b /
du: /proc/self/fd/3: No such file or directory
925349606
# du -s -b /cdrom
567695759 /cdrom
# du -s -b /dosd
91106812
# du -s -b /disque
1048126

J'ai deux disques durs : une partition DOS sur chacun d'eux.
Linux est en umsdos sur un des disques, l'autre disque dur
est monté en /dosd. Sous /DOS se trouve le reste des fichiers
DOS se trouvant sur le meme disque que linux.
(/disque est un lecteur de disquette, /cdrom un lecteur CD-ROM).

# ls /
DOS dev lib proc usr
System.map disque loadlin.exe root var
bin dosd loadlinx.exe sbin vmlinuz
boot etc lodlin15.txt temp_dosemu
cdrom home mnt tmp

La taille de linux+DOS + chouias = ce qui est utilisé sur un disque dur =
925349606 - 567695759 - 91106812 - 1048126= 265498900 octets avec du.

Mais
# df
Filesystem 1024-blocks Used Available Capacity Monted on
/dev/hdb1 531024 385056 145968 73% /
/dev/hda1 166612 92452 74160 55% /dosd
/dev/sbpcd 556756 556756 0 100% /cdrom
/dev/fd0H1440 1423 1021 402 72% /disque

Or 385056K != 265498900 octets.

Sous MS-dos, chkdsk donne des renseignements voisins de df, donc pas
du tout voisins de du.
J'ai fait des essais sur ma station SUN et je n'ai pas vu de
différences entre du et df (après recoupement).

Donc, ou je fais une erreur de raisonnement ou y a un truc qui cloche !

Sous MS-dos, j'ai aussi Volkov Commander (qui est un clone gratuit de Norton
Commander) qui donne des résultats plus proches de du que df. Mais enfin,
c'est encore un autre résultat !


--
Philippe Gaucher, Institut de Recherche Math\'ematique Avanc\'ee,
Strasbourg, gau...@math.u-strasbg.fr, http://galois.u-strasbg.fr


pg

unread,
Aug 2, 1995, 3:00:00 AM8/2/95
to
Utilisateur du DOS, j'ai une question pour vous à la fin,
concernant le formattage d'un disque dur.

cou...@cli58wr.der.edf.fr () wrote:

>C'est normal: du avec -b (comme --bytes) totalise les octets pris par
>chaque fichier, tandis que df affiche dans le champ used la somme des
>_blocs_ du filesystem pris par les fichiers. Pour comparer les deux
>utiliser "du -k" ou "du" (normalement du affiche en K par defaut).

Bon OK pour ca (du -k et df donnent à peu près la meme valeur). Mais
entre la "valeur basse" et la "valeur haute", je trouve quand meme
110 Mo de différences !!

>Exemple: pour un fichier toto de 87 octets, "du -s -b toto" affiche 87 et
>"du -s -k toto" affiche 1, c.a.d il arrondit a la taille de bloc
>superieure, ici 1K. Il y a en moyenne 0.5 blocs (donc 0.5K) de difference
>d'introduite par fichier entre -s et -k => plus il y a de fichiers, plus
>la difference est grande. CQFD

Donc une différence de 110000 Koctets, ce qui me ferait 220000 fichiers...
Or sur le disque contenant linux, j'ai en tout 12617 fichiers et
842 répertoires. Il y a toujours un os.
Comment calcule t-on la taille du bloc ? Est-ce-que ca a à voir avec
le formattage du disque dur (CHKDSK donne 16384 octets pour une unité
d'allocation ( ca me parait bcp alors que mon autre disque dur a une
unité d'allocation de 4096 octets)). Or en supposant 10K de perdu
pour chaque fichier (ce chiffre étant en accord avec les 16384 octets
d'une unité d'allocation), cela donne 130Mo de perdu, et là ça colle
avec les 110Mo de différences !

Si mon raisonnement est juste, cela veut dire que mon disque dur a été
formatté très très mal. Avec une unité d'allocation de 1024 octets,
ca me fait 16 fois moins de perdu, soit un gain de plus de 100Mo !!!!

Donc si mon raisonnement est juste, il faudrait que je reformatte mon
disque dur (bloup!), mais avec quel logiciel faut-il faire ca ?
Avec le FORMAT de MS-DOS ? pg.

cou...@cli58wr.der.edf.fr

unread,
Aug 2, 1995, 3:00:00 AM8/2/95
to

| différences entre du et df (aprčs recoupement).

| Donc, ou je fais une erreur de raisonnement ou y a un truc qui cloche !

C'est normal: du avec -b (comme --bytes) totalise les octets pris par


chaque fichier, tandis que df affiche dans le champ used la somme des
_blocs_ du filesystem pris par les fichiers. Pour comparer les deux
utiliser "du -k" ou "du" (normalement du affiche en K par defaut).

Exemple: pour un fichier toto de 87 octets, "du -s -b toto" affiche 87 et


"du -s -k toto" affiche 1, c.a.d il arrondit a la taille de bloc
superieure, ici 1K. Il y a en moyenne 0.5 blocs (donc 0.5K) de difference
d'introduite par fichier entre -s et -k => plus il y a de fichiers, plus
la difference est grande. CQFD

Hope this helps,
Fabien.

--
cou...@cli58wr.der.edf.fr
,---------------------------.
| Fabien COUTANT |
| Steria |
| 12, rue Paul DAUTIER |
| 78140 VELIZY VILLACOUBLAY |
| FRANCE |
`---------------------------'

cou...@cli58wr.der.edf.fr

unread,
Aug 2, 1995, 3:00:00 AM8/2/95
to
pg (gau...@galois.u-strasbg.fr) wrote:
| Utilisateur du DOS, j'ai une question pour vous à la fin,
| concernant le formattage d'un disque dur.

| cou...@cli58wr.der.edf.fr () wrote:

| >C'est normal: du avec -b (comme --bytes) totalise les octets pris par
| >chaque fichier, tandis que df affiche dans le champ used la somme des
| >_blocs_ du filesystem pris par les fichiers. Pour comparer les deux
| >utiliser "du -k" ou "du" (normalement du affiche en K par defaut).

| Bon OK pour ca (du -k et df donnent à peu près la meme valeur). Mais

| entre la "valeur basse" et la "valeur haute", je trouve quand meme
| 110 Mo de différences !!

| >Exemple: pour un fichier toto de 87 octets, "du -s -b toto" affiche 87 et


| >"du -s -k toto" affiche 1, c.a.d il arrondit a la taille de bloc
| >superieure, ici 1K. Il y a en moyenne 0.5 blocs (donc 0.5K) de difference
| >d'introduite par fichier entre -s et -k => plus il y a de fichiers, plus
| >la difference est grande. CQFD

| Donc une différence de 110000 Koctets, ce qui me ferait 220000 fichiers...


| Or sur le disque contenant linux, j'ai en tout 12617 fichiers et
| 842 répertoires. Il y a toujours un os.
| Comment calcule t-on la taille du bloc ? Est-ce-que ca a à voir avec
| le formattage du disque dur (CHKDSK donne 16384 octets pour une unité
| d'allocation ( ca me parait bcp alors que mon autre disque dur a une
| unité d'allocation de 4096 octets)). Or en supposant 10K de perdu

Oops... J'avais pas vu qu'il s'agissait d'une partition DOS: les choses se
gatent...

| pour chaque fichier (ce chiffre étant en accord avec les 16384 octets
| d'une unité d'allocation), cela donne 130Mo de perdu, et là ça colle
| avec les 110Mo de différences !

| Si mon raisonnement est juste, cela veut dire que mon disque dur a été
| formatté très très mal. Avec une unité d'allocation de 1024 octets,
| ca me fait 16 fois moins de perdu, soit un gain de plus de 100Mo !!!!

Eh oui, pour DOS, la taille de bloc du fs est proportionnel a la taille de
la partition: je crois que pour <32M c'est 2K, et ca augmente du meme
montant tous les 32M ou 64M (je ne me souviens plus exactement). Donc le
calcul que je faisais est a refaire en remplacant 1K avec ta taille de
bloc. Pour la connaitre, regarde la taille de ta partition, ajoute dessus
un fichier d'un octet (style ECHO X >TOTO), et compare la nouvelle taille
avec l'ancienne.

| Donc si mon raisonnement est juste, il faudrait que je reformatte mon
| disque dur (bloup!), mais avec quel logiciel faut-il faire ca ?
| Avec le FORMAT de MS-DOS ? pg.

Pas reformatter, mais re-partitioner. Ou encore pas FORMAT, mais FDISK.
C'est pire. Il faut d'une maniere ou d'une autre sauvegarder toutes les
partitions qui vont etre changees, re-partitioner, reformatter (c.a.d.
formattage logique), et re-installer / restaurer. Avec une partition
linux libre c'est plus facile: on sauve le contenu d'une partition ou
plusieurs dans une autre le temps de la/les refaire, puis on remets tout
en place. Sous DOS toutes les etapes sont a decomposer, et il faut avoir
une disquette DOS pour booter et pouvoir reinstaller un systeme.

PS: C'est pour ca qu'avec DOS il vaut mieux faire beaucoup de petites
partitions qu'une seule grosse, sinon avec beaucoup de petits fichiers on
gaspille un gros pourcentage de l'espace disque.

| --
| Philippe Gaucher, Institut de Recherche Math\'ematique Avanc\'ee,
| Strasbourg, gau...@math.u-strasbg.fr, http://galois.u-strasbg.fr

Bon courage
Fabien

Jean-Max Reymond

unread,
Aug 2, 1995, 3:00:00 AM8/2/95
to
Est ce que par hasard pour repartitionner le disque,
FIPS ne serait pas l'outil le plus adapte ?


Jean-Max Reymond

============================================================================
Email : rey...@ct03.frlv.bull.fr
Phone : (33) 93 14 23 59 Bulltel: 22-32359
Fax : (33) 93 14 23 61 Bullfax: 22-32361

Address: BULL SA (SLDV)
============================================================================


Message has been deleted

Fabrice

unread,
Aug 2, 1995, 3:00:00 AM8/2/95
to
Je sais pas si ton raisonnement est correcte mais je sais comment formater un disque
dur :
- genere une disquette boot
- copy dessus FORMAT (du DOS) et FDISK (je suppose que tu vas partitionner)
- redemarre ton ordi avec ta disquette et lance le partionnement depuis A:
(il faut pas scier la branche sur laquelle on est assis...)

Je te rappelle que toutes tes donnees seront perdues...

Fabrice


cou...@cli58wr.der.edf.fr

unread,
Aug 2, 1995, 3:00:00 AM8/2/95
to
Rene COUGNENC (re...@renux.frmug.fr.net) wrote:
...
| Et d'autre part, df annonce en général l'espace restant en décomptant
| l'éventuel pourcentage du système de fichiers réservé à root, et du
| indique l'espace réel utilisé : un fichier contenant un trou occupe
| bien moins de place que sa taille réelle.

Ce depend: il y a une option bsddf/minixdf qu'on peut mettre dans
/etc/fstab ou mount pour que le filesystem compte ou pas cet espace
reserve dans le "used" et le "total". Je crois que c'est valable pour
ext2fs, les autres je ne me souviens plus (faut dire que j'utilise que
ext2 et iso9660).

Mais la je crois que j'embrouille le schmilmbmlick.
Amicalement

pg

unread,
Aug 2, 1995, 3:00:00 AM8/2/95
to
cou...@cli58wr.der.edf.fr () wrote:

>Eh oui, pour DOS, la taille de bloc du fs est proportionnel a la taille de
>la partition: je crois que pour <32M c'est 2K, et ca augmente du meme
>montant tous les 32M ou 64M (je ne me souviens plus exactement). Donc le
>calcul que je faisais est a refaire en remplacant 1K avec ta taille de
>bloc. Pour la connaitre, regarde la taille de ta partition, ajoute dessus

Ah bon. Comme ma partition est betement un disque dur de 540 Mo, tu vois
le tableau.540/32 = 16.875. Et effectivement un block fait dans
les 16Ko (16384 octets pour etre précis).

si df donne 385584 "1024-blocs", un "echo x > toto" fait dire à df : 385600.
385600 - 385584 = 16. La théorie semble confirmée. Quel gaspillage
quand meme (100Mo !!) !

>Pas reformatter, mais re-partitioner. Ou encore pas FORMAT, mais FDISK.
>C'est pire. Il faut d'une maniere ou d'une autre sauvegarder toutes les
>partitions qui vont etre changees, re-partitioner, reformatter (c.a.d.
>formattage logique), et re-installer / restaurer. Avec une partition
>linux libre c'est plus facile: on sauve le contenu d'une partition ou
>plusieurs dans une autre le temps de la/les refaire, puis on remets tout
>en place. Sous DOS toutes les etapes sont a decomposer, et il faut avoir
>une disquette DOS pour booter et pouvoir reinstaller un systeme.

Pourquoi il faut avoir une disquette DOS ? (de toute façon, j'ai des
disquettes de boot mais je demande :-)). J'ai deux disques durs :
la disque de démarrage de 170Mo
le deuxième disque de 540Mo (c'est celui qui contient linux).
C'est le second que je dois reformatter et repartitionner.
Avant de me lancer dans une telle opération, j'ai encore des questions
à poser :
1) Admettons pour éviter les problèmes créés par le DOS que je crée directement
une partition linux sur mon disque dur ; est-ce que ce sera plus économe
qu'un linux en umsdos ?
2) si plus économe, quelle taille conseillée pour une partition linux ?
quel est la taille d'un bloc sur une partition linux ?
1-2') Ou mieux : comment puis-je deviner la taille dont je vais avoir
besoin avec ce que me donnent du et df actuellement ?
3) sinon quelle tailles conseillée pour une partition umsdos ?
J'attendrais de toute façon vos réponses avant de me lancer là-dedans.
En tout cas, merci de toutes vos réponses !

4) qu'est-ce-que FIPS mentionné par une autre personne ? pg.

PS : Merci pour toutes vos réponses. Je vais peut-etre gagne 100Mo ce soir !

Message has been deleted
Message has been deleted

Fabrice

unread,
Aug 3, 1995, 3:00:00 AM8/3/95
to
Le Sieur Rene parla en ces termes :

> Ce brave Fabrice ecrit:

>
> > Je sais pas si ton raisonnement est correcte mais je sais comment

> > formater un disque dur :
> > - genere une disquette boot
> > - copy dessus FORMAT (du DOS) et FDISK (je suppose que tu vas
> > partitionner)

>
> NON !!!!!!!!!!!!!!!!!!!!
> Sous Unix, il y a des systèmes de fichiers adaptés, et une commande pour

> les créer : mkfs. (newfs, mke2fs, etc. voir manuel de l'OS)
>
> Utiliser un système de fichiers FAT MS-DOS, avec une couche
> supplémentaire dans le noyau UNIX pour le rendre utilisable, pour
> faire tourner UNIX est une hérésie.

>
> UMSDOS, sous Linux, est génialement bien fichu, mais n'est pas là pour

> remplacer à demeure un système de fichiers normal. C'est dingue ça,
> c'est comme le Web, dès que quelque chose est bien fichu, il faut

> toujours que certains lui fassent faire des choses qui ne sont pas
> prévues au lieu d'utiliser l'outil adapté.
>
> Rhaaa mais :-))

> --

> linux linux linux linux -[ Rene.C...@freenix.fr ]- linux linux linux


Qu'est ce qu'il est fort ce Rene !!!!
Moi je disais ca... j'y connais rien en LINUX (c'est le dernier produit
Microsoft ??? ;-) ) dans le reste non plus d'ailleurs....

Fabrice

Jean-Luc Dubocq

unread,
Aug 3, 1995, 3:00:00 AM8/3/95
to
En fait, si on utilise "setup" de la Slakware,
au moment du mkfs sur les partitons (ext2fs entre autre)
le programme demande quelle taille de bloc l'on veut
prendre (4096 etant la valeur par defaut).
ce qui fait qu'un fichier occupe au minimum 2 blocs, un pour l'inode
et un pour les data's. A moins que ext2fs ne soit optimise, ce que
je n'ai jamais verifie.

Il est donc possible de prendre des blocs plus petits, 1024 octets
par exemple, mais attention car il doit falloir modifier les options
du fsck au boot, car il est parametre pour 4096 et apres plus rien ne marche.
J'ai eu la surprise une fois. Mais je n'ai pas reessaye recemment.


--
=============================================================
Jean-Luc DUBOCQ dub...@cenaath.cena.dgac.fr
CENA/ICS - Orly Sud 205 - 94542 ORLY AEROGARES CEDEX - FRANCE
Tel: (1) 69 57 70 80 Fax: (1) 69 84 56 97

pg

unread,
Aug 3, 1995, 3:00:00 AM8/3/95
to
dub...@cenaath.cena.dgac.fr (Jean-Luc Dubocq) wrote:

>Il est donc possible de prendre des blocs plus petits, 1024 octets
>par exemple, mais attention car il doit falloir modifier les options
>du fsck au boot, car il est parametre pour 4096 et apres plus rien ne marche.
>J'ai eu la surprise une fois. Mais je n'ai pas reessaye recemment.

Ah bon ! Maintenant, mes blocs font 1024 octets sur mes partitions linux
et j'ai rien fait de spécial à part un mk2ef après avoir crée mes
partitions. pg.

Message has been deleted

Serge Delbono

unread,
Aug 4, 1995, 3:00:00 AM8/4/95
to
@SUBJECT:Re: du, df, occupation memoire : un pb !!
Ce brave Pg,
dans un message du 2 Aout, ecrivait :

pg> Donc une difference de 110000 Koctets, ce qui me ferait 220000 fichiers..
pg> Or sur le disque contenant linux, j'ai en tout 12617 fichiers et
pg> 842 repertoires. Il y a toujours un os.
pg> Comment calcule t-on la taille du bloc ? Est-ce-que ca a a voir avec
pg> le formattage du disque dur (CHKDSK donne 16384 octets pour une unite
pg> d'allocation ( ca me parait bcp alors que mon autre disque dur a une
pg> unite d'allocation de 4096 octets)). Or en supposant 10K de perdu
pg> pour chaque fichier (ce chiffre etant en accord avec les 16384 octets
pg> d'une unite d'allocation), cela donne 130Mo de perdu, et la ca colle
pg> avec les 110Mo de differences !
pg>
pg> Si mon raisonnement est juste, cela veut dire que mon disque dur a ete
pg> formatte tres tres mal. Avec une unite d'allocation de 1024 octets,
pg> ca me fait 16 fois moins de perdu, soit un gain de plus de 100Mo !!!!
pg>
pg> Donc si mon raisonnement est juste, il faudrait que je reformatte mon
pg> disque dur (bloup!), mais avec quel logiciel faut-il faire ca ?
pg> Avec le FORMAT de MS-DOS ? pg.

Avec le mke2fs de Linux :-)))
La taille des clusters (= unite minimale d'allocation disque) depend de la
taille du disque. En effet, dans la FAT (on chine la FAT, parait-il :-)) les
cluster sont adresses par un mot de 16 octets. Donc plus le disque est gros,
plus tes clusters sont gros.

C'est pourquoi ce systeme de FAT n'est pas utilise dans les OS modernes
performant (Linux, OS/2...).

< Fido: 2:320/7
_>erge serge....@lill.frmug.fr.net
...
# Pastix 5.1 Linux # "Ad libitum" : A la bite de l'homme

Hanh HUYNH HUU

unread,
Aug 5, 1995, 3:00:00 AM8/5/95
to
pg (gau...@galois.u-strasbg.fr) wrote:
: du et df ne donnent pas les memes résultats chez moi !
... [Plein de calculs] ...

Sous linux, les fichiers peuvent etre troués. C'est à dire que si
tu écris un octet non nul au debut et puis que tu te deplaces
3000000 de caractères plus loin pour écrire un autre octet, tu
n'occupes qu'au maximum 2 blocs. df te rends l'occupation sur
les disques en nombre de blocs (sans compter les blocs reserves
à root) et du la somme des tailles des fichiers.

Si tu as quelques fichiers troués, tu auras du > df.
Fais un "man makehole", et tu verras...
--
- Linux

Remy CARD

unread,
Aug 7, 1995, 3:00:00 AM8/7/95
to
In article <DUBOCQ.95...@dalton.cenaath.cena.dgac.fr>,

Jean-Luc Dubocq <dub...@cenaath.cena.dgac.fr> wrote:
>En fait, si on utilise "setup" de la Slakware,
>au moment du mkfs sur les partitons (ext2fs entre autre)
>le programme demande quelle taille de bloc l'on veut
>prendre (4096 etant la valeur par defaut).

Non, non, non, non. Cette valeur ne concerne pas la taille des
blocs mais le ratio blocs/inode. Pour creer la table des inodes, mke2fs
divise le nombre de blocs par ce ratio et utilise la valeur obtenue
(arrondie au multiple de 8 superieur) comme nombre d'inodes.

>ce qui fait qu'un fichier occupe au minimum 2 blocs, un pour l'inode
>et un pour les data's. A moins que ext2fs ne soit optimise, ce que
>je n'ai jamais verifie.

Ext2fs est optimise :-) Mais cela n'a rien a voir. Comme tout
systeme de fichiers de type Unix, Ext2fs utilise des descripteurs de fichiers
appeles inodes. Ces inodes sont regroupees dans une table qui est elle-meme
repartie dans les groupes de blocs un peu partout dans le systeme de fichiers,
pour des raisons de rapidite et de securite. Chaque fichier est donc decrit
par un inode qui contient lui-meme l'adresse des blocs de donnees composant
le fichier.

>Il est donc possible de prendre des blocs plus petits, 1024 octets
>par exemple, mais attention car il doit falloir modifier les options
>du fsck au boot, car il est parametre pour 4096 et apres plus rien ne marche.

Fsck n'est absolument pas lie a la taille des blocs ou au ratio
blocs/inode. Quelles que soient les valeurs de ces parametres, fsck doit
fonctionner sans probleme (ou alors il y a un bug quelque part).

>--
>=============================================================
>Jean-Luc DUBOCQ dub...@cenaath.cena.dgac.fr
>CENA/ICS - Orly Sud 205 - 94542 ORLY AEROGARES CEDEX - FRANCE
>Tel: (1) 69 57 70 80 Fax: (1) 69 84 56 97

Remy

Remy CARD

unread,
Aug 7, 1995, 3:00:00 AM8/7/95
to
In article <3vo3oo$8...@edf3.der.edf.fr>, <cou...@cli58wr.der.edf.fr> wrote:
>Ce depend: il y a une option bsddf/minixdf qu'on peut mettre dans
>/etc/fstab ou mount pour que le filesystem compte ou pas cet espace
>reserve dans le "used" et le "total". Je crois que c'est valable pour
>ext2fs, les autres je ne me souviens plus.

Cette option n'est reconnue que par Ext2fs. Elle est de plus
d'un interet douteux, en fait, et elle n'a ete implementee que pour
faire plaisir a Bruce Evans :-)

Remy

0 new messages