Profitez des offres Memoirevive.ch!
Stop à la défragmentation, vive le prebinding

Tout a commencé lors de la CukDay au Lac des Chavonnes (voir et ). En chemin, François et moi discutions de choses et d'autres et il aborda le sujet de la défragmentation des disques durs, comparant Norton Utilities et Drive 10. Mais s'il y a un sujet sur lequel j'ai un avis bien tranché, c'est bien celui de la défragmentation ! J'expliquai alors à François que sous MacOS X, la gestion des fichiers était complètement différente que sous des systèmes comme MacOS 9 ou Windows et que la défragmentation était inutile.

Mais François n'est pas du genre à se laisser battre aussi facilement et il affirma haut et fort qu'en défragmentant son disque, tout allait plus vite. Si la bataille fut abandonnée pour le reste de la journée, elle faisait malgré tout toujours rage.

Puis il advint qu'un innocent membre du forum aborda le sujet de la défragmentation avec Drive 10 dans ce fil de discussion.

Ma réponse ne se fit pas attendre, il ne faut pas me titiller sur ce sujet:

Fabien:

Moi je dis: pas de défragmentation.

Maintenant je me fais le porte-parole de François qui dirait: il FAUT défragmenter et qui ajouterais avec Norton.

Mais moi je dis: Norton c'est le mal.

Maintenant tu fais ce que tu veux

Bon je vous avoue que sur ce coup-là je n'ai pas été très productif et plutôt provocateur, mais bon...on ne se refait pas...

Il n'en fallait pas plus pour que les réponses fusent, tout d'abord mon collègue et ami BLUES:

BLUES:

Bon je me fais "tout petit" (car j'y crois! hum... tu ne m'en veux pas Fabien ?.. car tant que la partition sera en HFS+ et pas UNIX pure, je n'en démordrais pas ... Y'a besoin !!!)

Puis mon ami jibu:

jibu:

Si vous aimez gaspillez du temps, faîtes des défrags, sinon vivez boudjou !

Plusieurs avis furent donnés, tous différents les uns des autres, jusqu'à ce qu'intervienne drazam le magnifique. Comme il le dit lui-même: DSA, drazam strikes again !. Et il nous sort de chez Apple une petite doc de derrière les fagots

En gros, la doc d'Apple dit qu'il n'est pas nécessaire de défragmenter pour les raisons suivantes:

  • les disques sont plus gros, et donc moins remplis qu'avant. Le système HFS+ évite de réutiliser l'espace rendu libre par l'effacement d'un fichier ce qui permet d'éviter de fragmenter pour remplir des petits trous.
  • Pour les disques formatés en "étendu", les versions 10.2 et suivantes utilisent un système d'allocation retardée. Ainsi, plusieurs petites allocations seront concentrées en une seule grande allocation lors de l'écriture sur le disque.
  • La fragmentation était souvent due à l'ajout de données à un fichier existant, en particulier des champs ressources. Avec des disques plus rapides et une meilleure gestion de la cache ainsi qu'avec le nouveau système de "paquets" (plus de ressources), la plupart des applications réécrivent le fichier en entier. De plus, Panther possède la faculté de défragmenter automatiquement de tels fichiers.
  • Grâce au système de "lecture à l'avance" et "d'écriture retardée", une fragmentation mineure n'aura aucune influence sur les performances du système.

D'autres points sont soulevés. Il est vrai que le système est composé de plein de petits fichiers, mais ces derniers ne sont que peu utilisés et réécris. Ils ne seront donc pas fragmentés. Par contre, certains fichiers importants sont placés dans la "zone chaude" du disque (celle dont l'accès est le plus rapide). Une défragmentation pourrait donc avoir l'effet inverse et ralentir le système si ces fichiers sont déplacés.

Ils disent aussi qu'avant de défragmenter, il faut simplement essayer de redémarrer.

Si votre disque est bien plein et que vous travaillez alors sur de gros fichiers (genre vidéo) il est possible qu'ils fragmentent. Auquel cas on peut recourir à la défragmentation ou simplement à un clonage du système.

Là, le boss en personne s'est senti contraint d'intervenir et de remettre de l'huile sur le feu:

François:

Je prends l'exemple de mon AluBook: chaque fois que je réinstalle la chose, il va deux fois plus vite qu'avant, avec les mêmes utilitaires. Le Mac, il ralentit au fur et à mesure des mois d'utilisation. Ne me faites pas croire que cela ne vient pas de la fragmentation.

Mais Renan s'opposa farouchement à son chef (quel culot !):

Renan:

La seule chose, c'est le côté psychologique qui joue, et là on peut que te conseiller de faire une défragmentation si cela te donne l'impression que ton ordinateur va plus vite.

Et vous pensiez que le chef allait se laisser faire comme ça ? Que nenni ! Il rétorqua:

François:

Renan et Fabien, non, ce n'est pas psychologique.

Je compte en rebonds.

au début, droit après une installation, mais complète, qui me prend plusieurs jours, avec tout et tout, mon ordinateur a besoin par exemple d'un rebond dans le dock pour afficher les Préférences système.

Après deux mois, il lui en faut deux, et puis encore plus tard 3.

Et là ça m'a fait tilt ! Le phénomène qu'observait François était un simple problème de prebinding !

Je lui conseillai alors d'essayer un utilitaire comme Onyx pour refaire un prebinding, et la réponse ne se fit pas attendre:

François:

Bon, alors je m'incline pour l'instant. J'ai passé Onyx et je lance mes préférences système en un demi rebond, comme après une installation clean.

Assez incroyable. Si qqn pouvait faire sur ce site une petite humeur technique sur le prebinding, ça m'arrangerait bien voyez-vous

Alors avec un peu de retard la voilà cette humeur technique sur le prebinding.

Qu'est-ce que le prebinding ?

Afin de comprendre le prebinding, il s'agit de comprendre comment fonctionne une application ou n'importe quel programme informatique.

De nos jours, un programme repose sur une série de bibliothèques (Library) qui lui fournissent des fonctions. Par exemple, Apple met à disposition des programmeurs la bibliothèque Cocoa. Grâce à cela, le programmeur peut facilement afficher une fenêtre au look MacOS X, sans devoir la programmer, il peut créer un menu, un bouton et son action, etc. Tout cela sans effort, mais en utilisant des fonctions mises à disposition par Apple. De même, Apple met à disposition une bibliothèque WebKit sur laquelle repose Safari et que les programmeurs d'Omniweb ou de Shiira ont pu très simplement utiliser (nous l'avons même fait dans cet article).

En tout, Apple met à disposition plus de 150 bibliothèques bourrées de fonctions et d'objets que les programmeurs pourront utiliser.

Mais lorsque le programmeur créé son application, il ne va pas y copier intégralement toutes les bibliothèques qu'il utilise, cela augmenterait considérablement la taille de l'application et votre disque dur serait vite rempli d'applications utilisant les mêmes bibliothèques, ces dernières seront donc dupliquées inutilement. Cette méthode, appelée static linking n'est pas une bonne solution.

La chose raisonnable à faire est ce qu'on appelle le dynamic linking. Les bibliothèques sont installées avec le système et un programme désirant utiliser une bibliothèque va faire un lien vers le fichier système correspondant.

Si vous êtes curieux, vous pouvez allez voir ces bilibothèques en vous rendant dans le menu "Aller" du Finder, puis en sélectionnant "Aller au dossier..." et en entrant ceci:

/System/Library/Frameworks

Vous y trouverez quelques noms connus: Cocoa, Carbon, WebKit, Quicktime, etc.

Ce système de lien dynamique a de très gros avantages. Tout d'abord, lorsqu'Apple fournit une mise à jour du système vos programmes utilisent automatiquement les nouvelles versions des bibliothèques, sans devoir recompiler. J'en veux pour preuve que lorsque Panther a amené un nouveau look de fenêtre (sans les rayures) vos applications ont automatiquement bénéficié de ce nouvel aspect.

Le deuxième avantage est de taille. Si vous lancez cinq applications qui utilisent une même bibliothèque de fonctions, la première application chargera la bibliothèque en mémoire, mais les quatre autres n'auront plus besoin de le faire et partageront la zone mémoire contenant la bibliothèque. Le temps de lancement de ces quatre applications sera donc réduit.

Mais revenons à nos moutons, qu'est-ce que le prebinding vient faire là dedans ?

Comme je l'ai dit, une bibliothèque fournit une série de fonctions ou d'objets. Lorsqu'une application se lance, elle charge les bibliothèques et doit alors y trouver les objets qu'elle désire utiliser afin d'y faire un lien depuis son propre code.

Ceci étant fait, l'application peut utiliser ces objets comme si elle lui appartenait. Ce processus s'appelle le binding et il peut prendre beaucoup de temps. En effet, il peut y avoir des milliers d'objets à lier, car l'application doit faire le lien vers les objets dont elle a besoin, mais ces objets doivent également faire des liens vers d'autres objets dont ils ont besoin.

Vous comprendrez donc qu'éviter ce processus raccourcirait significativement le temps de lancement des applications.

C'est là qu'intervient (enfin !) le prebinding. En faisant un prebinding on anticipe le processus de binding en plaçant dans le programme un fichier contenant tous les liens dont il a besoin. Ainsi, lorsque l'application est lancée elle ira chercher l'information dans ce fichier et pourra se passer du processus de binding.

Bien entendu, à chaque fois qu'une bibliothèque est modifiée ou mise à jour, le fichier contant les liens deviendra obsolète et il faudra refaire le prebinding.

Lorsque vous faites une mise à jour du système ou l'installation d'un logiciel via le programme Installation, la dernière phase s'intitule "Optimisation du Système", en réalité il fait là le prebinding.

Le ralentissement qu'observait François était donc simplement dû à un mauvais prebinding. Or, en défragmentant le disque, son logiciel relançait une procédure de prebinding, ce qui donnait cette impression de vitesse accrue.

Pour tout vous avouer, je ne suis pas tout à fait certain de la raison pour laquelle il faut refaire le prebinding de temps en temps. J'imagine qu'à force d'installer et de désinstaller des programmes (comme François le fait certainement) il se peut que l'information de binding soit perdue, allez savoir. Toujours est-il qu'un coup de balai de temps en temps ne fait pas de mal, d'autant plus que c'est vite fait avec le logiciel Onyx. Dans l'onglet "Maintenance" il faut cocher la case "Optimiser les performances du système". Pour vraiment faire une optimisation complète il faut choisir "Optimisation complète".

On peut également le faire simplement en ligne de commande avec:

sudo update_prebinding -root / -force

Il faut noter que seules les applications se trouvant sur le disque de démarrage peuvent profiter du prebinding.

Même si la nécessité du prebinding reste un peu mystérieuse, son utilité est beaucoup plus avérée que celle d'une défragmentation. Comme de plus la défragmentation est beaucoup plus périlleuse, longue et aléatoire que le prebinding, je ne peux que vous encourager à vous contenter d'un petit coup de Onyx de temps en temps.

La bataille fut rude...mais la défragmentation a été vaincue.

Si vous voulez plus d'informations techniques sur le prebinding vous pouvez lire cette page chez Apple.

58 commentaires
1)
gus2
, le 24.08.2004 à 00:40
[modifier]

-EDIT-
Bon en fait en relançant la commande tout semble être rentré dans l’ordre… Mais je ne comprend pas pourquoi….
-FIN EDIT-

ATTENTION NE PAS TAPER LA COMMANDE :
sudo update_prebinding -root / -force

Je viens de le faire et depuis impossible de lancer le préférences système. Ni même la console…
Voici les tois dernières lignes :

2004-08-24 00:36:20.670 update_prebinding[16828] Prebinding files (2040/2042 complete)
2004-08-24 00:36:25.739 update_prebinding[16828] Update_prebinding done.
2004-08-24 00:36:25.742 update_prebinding[16828] 1949 files successfully prebound, 93 files unsuccessfully prebound.

Je ne suis pas vraiment sur que ce soit la commande qui ai mis mon panther en carafe, mais comme je n’ai rien fait d’autre entre le lancement de la commande et la fin…
J’enquête et je vous tiens au courant…

3)
gus2
, le 24.08.2004 à 01:13
[modifier]

Faut jamais toucher le Terminal!:-)

Mouais…. Mais je travail comment alors ? :)
J’ai toujours 10 terminaux ouverts sur 5 machines différentes avec des VI, des matlabs et autres trucs de geek :)
Bon j’ai eu quand même un gros coup de peur…. Et tout cas encore une fois merci pour ce site avec tout ces articles bien faits…

4)
Tibam
, le 24.08.2004 à 02:22
[modifier]

Merci Fabien, maintenant je sais pourquoi mon Cube tourne comme un PPC603 depuis qqs temps (et non rien n’a brulé, seulement du prebinding :-) )

Bref, j’espère qu’ils font ça de temps à autres sur le BigMac à VirginiaTech :-P

Merci encore de cette explication claire!

Viva la Revolucion contra la fragmentacion!

Tibam

6)
Blues
, le 24.08.2004 à 08:04
[modifier]

« La bataille fut rude…mais la défragmentation a été vaincue »

Oui, oui … après mes dernières mauvaises expériences (disque crashé) ca fait 3 ou 4 mois que je n’ai plus contrôlé mon (nouveau) disque, et depuis, je suis les conseils de Jibu : « sinon vivez », je vis, je vis !!!
Par contre mettre au Terminal pour le « pré-(à)-bander » .. oulàlà … c’est pas pour moi, ca !!! (disons … pas pour tout de suite), je vais plutôt voir du côté de chez Onyx…

7)
Inconnu
, le 24.08.2004 à 08:07
[modifier]

Merci Fabien.
Si j’avais eu un seul prof aussi clair et intéressant pendant ma scolarité, ma vie aurait été complètement différente, en mieux, évidemment.

Une question: j’ai cliqué sur « onyx », et j’ai obtenu:
The requested URL /english/onyx/index.html was not found on this server.

(Mac OS 10.3.4, avec Safari et Noos)

8)
Fabien
, le 24.08.2004 à 08:16
[modifier]

Merci pour vos commentaires.

gus2: a priori le prebinding ne peut pas vraiment faire de mal. Au pire il foire le prebinding et il suffit de le relancer…mais ça ne m’est jamais arrivé. Tandis qu’une defrag peut serieusement bousiller une partoche.

François:

Faut jamais toucher le Terminal!:-)

tsssssss….homme de peu de foi !

kaz: tu as tout à fait raison, désolé pour cette erreur.

g.chatelain: une nouvelle version d’Onyx est sortie aujourd’hui ! Quel heureux hasard. Voici le lien pour le téléchargement .

9)
Roger Baudet
, le 24.08.2004 à 08:46
[modifier]

Superbe article, merci.

Je crois que tu as pratiquement clos le débat sur la défragmentation et avec brio.

Mais du coup, pour le bien de nos données, est-il encore utile de partitionner les disques ou non ?

Je reste actuellement adepte de cette méthode, mais jusqu’à quand ?

10)
pilote.ka
, le 24.08.2004 à 08:56
[modifier]

Mais dans Onyx il n’y a pas de bouton « Prebinding »
Concrètement je dois faire quoi?
Parce ce que mon mac a un sacré coup de mou.

11)
Fabien
, le 24.08.2004 à 09:00
[modifier]

Dans Onyx, il faut sélectionner l’onglet « Maintenance » puis cocher la case « Optimiser les performances du système ». Pour vraiment faire une optimisation complète il faut choisir « Optimisation complète » (j’ai ajouter cette information à l’article).

La réparation des autorisations ne peut pas faire de mal (pour ma part je le fais régulièrement) et les scripts de maintenance également.

Par contre les bases de données Locate et Whatis ne sont pas nécessaires (sauf pour les acharnés du terminal).

12)
Inconnu
, le 24.08.2004 à 09:59
[modifier]

Bon, ben je suis un peu perdu. Défragmenter ou pas?
Autant je le fais sur Windows 2000, autant sur le Mac je n’utilise pas de Norton Utilities.

Par contre, je me sers de temps en temps (disons une fois par mois, quand j’y penses) d’Onyx, en lancant les optimisations, réparation de permission. Et j’ai également Disk Warrior, qui monitore mes disques au cas ou un hardware failure serait en préparation (ca m’est arrivé une fois et j’ai réussi à sauver mes précieux fichiers vidéo).

13)
Sébastien Pennec
, le 24.08.2004 à 10:45
[modifier]

Super article, Fabien!

J’ai souvent entendu parler de prebinding, sans vraiment savoir ce que c’était, et sans avoir trop la motivation pour rechercher des infos dessus… (oui, je suis un peu une flemme…).

J’ai téléchargé Onxy, et je vais m’y mettre régulièrement! Le résultat parle de lui même, sur ma machine: on voit une nette amélioration lors du lancement d’applications.

14)
jibu
, le 24.08.2004 à 10:54
[modifier]

chouette article, comme toujours.

La chose cette fois est très claire, avec la théorie et tout, parfais.

Jibu

15)
Fabien
, le 24.08.2004 à 11:26
[modifier]

Renaud:

Bon, ben je suis un peu perdu. Défragmenter ou pas?

pas.

16)
drazam
, le 24.08.2004 à 11:53
[modifier]

Ah la défrag’ chez Cuk, quelle affaire ! Magnifiquement pliée par Fabien (remarquez l’échange de vannes tout de même, pôv’ François).
Donc exit la défrag’, bonjour les Utilitaire de disque-Onyx-Disk Warrior (aussi conseillés par marief) ! J’ai bon là ou bien ?

Pour la doc, pô fait exprès Fabien…
Tibam, sur ton cube, c’est plutôt du preburning
Roger, ne remet pas de l’huile à momo sur le feu !

image

____________________
drazam strikes again

17)
Gilles Tschopp
, le 24.08.2004 à 12:02
[modifier]

Sans vouloir entrer dans un match Mac-PC, je vois que le prebinding est bien plus efficace par rapport au registre Windows.

En effet sous Windows, les composants DLL sont inscrits dans un registre centralisé. Mais l’ennui, c’est que le registre a une très forte tendance à pourrir avec le temps.

Le pire, c’est qu’il n’y a pas de solution standard pour nettoyer et réparer le registre… Il existe certes des solutions tierces, mais ce n’est pas sans danger !

Je dis cela, parce que j’en ai déjà vu de toutes les couleurs, étant donné que je suis développeur sur cette plateforme-là…

18)
Tibam
, le 24.08.2004 à 13:04
[modifier]

Tibam, sur ton cube, c’est plutôt du preburning…

Et très bientôt, du precooling image

Mouarf

19)
Gokart
, le 24.08.2004 à 13:10
[modifier]

OK pour l’intéret indéniable du prebinding. Ok aussi pour les explications d’Apple (ils doivent s’y connaître…) sur les capacités de Panther à gérer les divers paramètres (voir paragraphe consacré de l’Humeur) dans la grande majoruté des cas.
Bon, mais que faire quand son disque dur est quasi plein en permanence, que l’on travaille sur des fichiers volumineux (video par exemple) et que ceux ci sont fragmentés quelquefois en plusieurs centaines (ou milliers!) de segments avec des lenteurs d’accès « palpables » ??
Un prebinding ne semble d’aucun recours dans ce cas là puisque ce n’est pas l’application qui est responsable des médiocres performances mais bel et bien l’accès au fichier de données. Je me trompe ?

Norton Utilities (Speed Disk) semble dispose d’une fonction « Optimize » permettant de concilier les divers impératifs si j’en crois les explications de l’aide Norton :
– défragmentation des fichiers pour accélération de l’accès
– déplacement des divers fichiers système et autres les plus utilisés vers la partie de disque à accès le plus rapide pour éviter le problème soulevé par Apple pouvant être lié à une simple défragmentation.

J’ai utilisé cette fonction à plusieurs reprises (prévoir encas et café…) et constaté une accélération sensible dans l’utilisation des programmes faisant appel à ces gros fichiers. Pas de différence notable par contre sur l’utilisation du système (finder..) et des autres applications « normales »…

Donc, pour moi la défragmentation conjuguée à cette optimisation a été bénéfique. Simple cas particulier ??
ou règle de conduite pour le futur : si tu veux des bonnes perf, assure toi d’avoir un disque dur avec une surcapacité importante … :-)

20)
François Cuneo
, le 24.08.2004 à 13:20
[modifier]

Ouaaaaaiiiiiis!!!!! Quelqu’un qui pense aussi que la défragmentation ne sert pas à rien!

Je suis pas tout seuleu je suis pas tout seuleu…

21)
Dan DT
, le 24.08.2004 à 13:23
[modifier]

Gokart écrivait :

Bon, mais que faire quand son disque dur est quasi plein en permanence, que l’on travaille sur des fichiers volumineux (video par exemple) et que ceux ci sont fragmentés quelquefois en plusieurs centaines (ou milliers!) de segments avec des lenteurs d’accès « palpables » ??

Changer de DD :)
En arriver à un DD presque plein est de toute façon un erreur (vu le prix en plus) et travailler sur des gros fichiers vidéo c’est plus qu’une erreur c’est une c… grosse erreur ;-)

Pour moi qui ne suis pas pro ni même amateur averti, j’ai un DD « vide » de 250 Go reformaté avant chaque travail qui ne sert qu’à ça (en général des acquisition DV via boîtier Formac DV et montées avec iMovie pour en faire des DVD.

Mais si tu veux faire de la vidéo avec un 80 Go il sera « toujours » fragmenté :-/


Du pays de la (vraie) bière et particulièrement la Kwak et la Leffe :~{D

22)
Blues
, le 24.08.2004 à 14:02
[modifier]

« mais que faire quand son disque dur est quasi plein en permanence, que l’on travaille sur des fichiers volumineux (video par exemple) » …

Mais très simple mon cher Watson .. de nos jours au prix que coutent les HD (meme en externe FW), rien ne t’empêche d’en avoir plusieurs (un par projet par ex.)
Quand à moi (pour la vidéo justement) je procède comme suit: je travaille sur un 160 Gb pour un projet, un fois terminé et gravé sur DVD (et évent. ré-importé sur bande), j’efface « proprement ce disque, et c’est reparti pour le projet suivant … Ainsi pas de temps perdu en défrag et autres ennuis !

A mon avis, ton truc là, c’est pas le bon … (en tout cas en heures de travail perdues en défrag, à attendre, attendre… et les disques si « short » .. pas bon du tout, non plus)

———————–
« Je suis pas tout seuleu je suis pas tout seuleu… »

Francois, tu auras remarqué que je change aussi mon fusil d’épaule .. (Fabien est si convainquant) car X c’est encore tout jeune, et il faut se sortir de nos vieilles habitudes sous OS classic-Norton speedD !!!

23)
Gokart
, le 24.08.2004 à 14:21
[modifier]

Est-ce ma faute à moi si je repousse de mois en mois l’achat de mon prochain Mac avec disque intégré confortable ? Pas possible d’acheter quoi que ce soit chez Apple en ce moment… :-(

J’ai bien écrit que la solution consiste à avoir une large capacité excédentaire de disque. De là à acheter des DD supplémentaires spécialement pour une utilisation qui sans être exceptionnelle n’en est pas pour autant quotidienne non plus…
Quant à la perte de temps liée à l’utilisation du très lent Speed Disk (!), il suffit de lancer l’opération avant de partir du boulot ou d’aller se coucher :-)
Je reste convaincu (t’es pas tout seul François, on fait un club?) que la défragmentation/optimisation reste dans mon cas une opération « rentable »

24)
Jacques 971
, le 24.08.2004 à 14:44
[modifier]

Bien. tout cela est bel et bon, mais, quid des applications (et non des moindres !) qui ne veulent pas se faire « prebinder » (iMovie ou iPhoto, par exemple), pour lesquels le log dit, en substance : « Il faut relinker le programme » ?

Et … il vaut mieux redémarrer, juste après un prébinding ?

25)
Anne Cuneo
, le 24.08.2004 à 14:45
[modifier]

J’ai lu tout ça, j’ai été dûment impressionnée, j’ai téléchargé Onyx et je l’ai mis au travail. J’aurais bien voulu lire un petit test, mais je n’en ai pas trouvé, est-ce possible? Le dossier Help explique à quoi sert chaque fonction, mais ne donne pas de conseils. Que faut-il lui faire faire dans “Cleaning”? Dans “Automate”? J’ai fait tourner “Maintain” en laissant les coches comme elles étaient, mais avec les autres, je ne suis pas sûre. Alors, une petite leçon, MM. les pédagogues, SVP. Ou s’il y a un test à un endroit que je n’ai pas trouvé, me dire où il est.
MERCI!

Anne

26)
jibu
, le 24.08.2004 à 15:55
[modifier]

t’es bon pour un test d’onyx maintenant Fab…
Pourr mme Cunéo, aller, tu peux pas lui refuser cela :-)))

27)
aegir
, le 24.08.2004 à 16:09
[modifier]

Vous vous demandez pourquoi il faut refaire le prebind, c’est simplement parce que pour que les adresses précalculées soient valables, il faut que toutes les librairies partagées disponibles soient exactement les mêmes que celles qui étaient présentes lors du prebind.

Donc, lorsqu’une seule librairie est mise à jour (comme par exemple la libpng il y a pas très longtemps), cela invalide le prebind de tous les exécutables qui utilisent cette lib PNG…

28)
François Cuneo
, le 24.08.2004 à 16:26
[modifier]

En parlant d’Onyx, la dernière version est sortie il y a quelques minutes.

Juste pour dire!

Et hop, un petit passage d’Onyx à la minute, et cette nuit, une défrag avec Techtools Pro 4!:-)

29)
atshoom
, le 24.08.2004 à 16:53
[modifier]

cf. premier commentaire:
j’ai effectué la commande via le terminal et maintenant il me faut 15 bonds minimum pour démarere « preferences systeme » au lieu de 3.
pareil pour les autres app. (sur pismo 400 et 10.3.5)

meme commande sur un blancbleu 400 et là « pref.syst. » ne s’ouvre plus non plus ainsi qu’aucune autre application !!!
j’ai fermé la session et la je me retrouve avec un écran bleu et juste le pointeur de la souris.
aieaieaie…

30)
Ali Baba
, le 24.08.2004 à 16:59
[modifier]

Il est mal fichu cet utilitaire :
1/ pourquoi un installeur ? il peut pas faire une appli à glisser-déposer ? il faut qu’il installe des petits ailleurs ?
2/ impossible de l’utiliser sous un compte non admin, même en connaissant le mot de passe d’admin ; pourquoi ne pas utiliser les fonctions standard de Mac OS X pour demander ça ?

Bref, je vais essayer autre chose pour mon prebinding.

31)
Fabien
, le 24.08.2004 à 17:03
[modifier]

François:

En parlant d’Onyx, la dernière version est sortie il y a quelques minutes.

Juste pour dire!

Euh…François…à 8h16 ce matin j’ai écrit:

une nouvelle version d’Onyx est sortie aujourd’hui ! Quel heureux hasard.

Je t’avais bien dit que MacUpdate était bien mieux que VersionTracker !

aegir: merci pour la précision.

Jacques_971: il n’y a pas besoin de redémarrer après un prebinding. Par contre si tu refais un prebinding complet, un redémarrage permettra aux application déjà lancée de profiter de l’accélération.

Gokart: comme l’on dit les autres, si tu disque est plein, achètes-en un autre. Il est très mauvais de travailler avec un disque presque plein, pas seulement à cause de la fragmentation mais aussi pour la mémoire virtuelle.
De plus si tu fais de la vidéo, fait comme BLUES, un disque dédier que tu effaces régulièrement, je fais pareil.

32)
atshoom
, le 24.08.2004 à 17:52
[modifier]

j’ai effectué la commande via le terminal et maintenant il me faut 15 bonds minimum pour démarere « preferences systeme » au lieu de 3.
pareil pour les autres app. (sur pismo 400 et 10.3.5)

meme commande sur un blancbleu 400 et là « pref.syst. » ne s’ouvre plus non plus ainsi qu’aucune autre application !!!
j’ai fermé la session et la je me retrouve avec un écran bleu et juste le pointeur de la souris.
aieaieaie…

ouf… un démarrage suffisait pour que tout rentre dans l’ordre.
2 bonds pour pref syst.

33)
M.G.
, le 24.08.2004 à 18:52
[modifier]

Moi qui en étais resté au 9.2.2 jusqu’à quelques semaines, avec les Norton et SpeedDisk ! Je ne lançais Panther que « pour voir » mais je continuais à travailler en 9.2.2. Depuis mon retour de France, c’est Panther sur toutes mes bécanes, même ma « Palourde » 300 MHz 320 Mo RAM cavale comme un lapin :-)

Article splendide et très pédagogique. Bravo Fabien !

Merci François pour avoir noté les rebonds dans le Dock. C’est un moyen très visuel de se rendre compte de l’état du Prebinding.

Lorsque mon iBook 800 se mettait à ramer, je lançais « Réparer les autorisations du disque » à partir de Disk Utility.

Onyx, c’est mieux, c’est grand et ça marche !

Une remarque qui a déjà été faite : il faut souvent un ou deux redémarrages après une installation pour que Panther prenne de la vitesse.

J’ai beaucoup aimé la présentation de cette humeur : Thèse – Antithèse – Synthèse, c’est vivant et j’ai l’impression de me retrouver sur les Fora des Cités CalvaCom… en mieux. Vive Cuk !

Marc, l’Africain

34)
pilote.ka
, le 24.08.2004 à 19:22
[modifier]

J’ai fait le prebindig avec Onyx, et si je me fie au test de François, les rebonds dans le dock, c’est bien simple: au lieux des 6 rebonds dont j’avais besoin pour lancer iTunes j’en ai plus que 2 voire un si je l’avais déjà ouvert. Y a pas photo.

Ce qui m’inquiète maintenant c’est une autre histoire. A-t-on vraiment besoin de 160 Go pour faire un DVD avec iMovie et IDVD? Je suis novice en la matière mais je laisse toujours sur mon HD 20 Go. Cela me semblait suffisant pour faire un DVD de moiins d’une heure.

J’aimerais que les spécialistes s’expliquent :(

35)
Fabien
, le 24.08.2004 à 20:10
[modifier]

pilote.ka: la règle en DV (format vidéo utilisé par iMovie) c’est 2Go = 9 minutes.

donc après un rapide calcul: 1h30 = 20 Go.

Donc si tu comptes encore la place nécessaire aux fichiers mpg2 créés par iDVD (env. 4 Go) ben ton disque est déjà bien rempli.

Avec 160 Go on est déjà plus à l’aise :-)

36)
drazam
, le 24.08.2004 à 20:24
[modifier]

Le lien pour Onyx dans ton humeur n’est plus valide Fabien…

____________________
drazam strikes again

37)
Spyro
, le 24.08.2004 à 21:09
[modifier]

Il faut noter que seules les applications se trouvant sur le disque de démarrage peuvent profiter du prebinding

Mé euh c’est po juste !!
J’ai plein d’applis sur un disque secondaire moi.
Tu crois que ça vaut le coup de déplacer les applis que j’utilise le plus (en particulier celles qui se lancent au démarrage) sur le disque de démarrage ? (Sachant que j’y ai une place limitée).

C’est un peu bête parce que si je fais ça justement c’est pour pouvoir en cas de problème zapper l’OS sans avoir à réinstaller ce dont je me sers le plus…

38)
Inconnu
, le 24.08.2004 à 22:53
[modifier]

En ce qui concerne iDVD, les 4Go c’est ce qui sera inscrit sur le disque. La compression nécessite bien plus de place que cela. A 13Go de l’heure, faut voir grand, sinon risque d’erreur lors de la phase de gravure.

39)
alia
, le 24.08.2004 à 23:40
[modifier]

Pour rebondir
1/ faire l’experience d’installer Panther sur une machine LENTE genre imac g3 400 on constate (si on ne touche à rien defrag prebind etc) que la machine s’ameliore très nettement au fil des premières semaines (ce qui ne se remarque pas sur une bête de course) on peut constater alors que si on defragmente le imac en question il devient très poussif avec la petite roue !
2/ au dela de la memoire physique de la machine il faut prendre en consideration la memoire virtuelle que l’on voit dans l’application Moniteur d’activité par exemple et l’on constate que selon le nombre d’applications ouverte et de comptes utilisateurs en activité la taille est impressionnante ce qui suppose une place libre equivalente sur le disque
3/ on peut donc avoir une partition pour le systeme que l’on ne defragmente surtout pas avec beaucoup d’espace libre (genre 20 go, ce qui fait mal sur un portable), une ou deux autres partitions pour les applis et les utilisateurs que l’on defragmente regulierement

40)
drazam
, le 25.08.2004 à 00:05
[modifier]

Et voilà, l’esprit de momo is back ! Le dossier de l’écran de ce soir (avec la musique) : après la défrag’, tu partoches toua ?

Chuis d’accord avec Anne : vu les options dispos, t’es pô cap’ de nous faire un test complet d’Onyx Fab’ !

____________________
drazam strikes again

41)
Serge
, le 25.08.2004 à 03:23
[modifier]

Bravo Fabien pour cet article ! C’est d’une limpidité incroyable ! T’aurais pas envie d’écrire un bouquin sur l’informatique, par hasard ?
Parce que dans ce cas, moi je suis preneur ! :-)

42)
Fabien
, le 25.08.2004 à 07:39
[modifier]

Ali Baba:

Il est mal fichu cet utilitaire :
1/ pourquoi un installeur ? il peut pas faire une appli à glisser-déposer ? il faut qu’il installe des petits ailleurs ?
2/ impossible de l’utiliser sous un compte non admin, même en connaissant le mot de passe d’admin ; pourquoi ne pas utiliser les fonctions standard de Mac OS X pour demander ça ?

1/ Onyx n’installe rien du tout ailleurs…l’installateur n’est là que pour faire un prebinding de l’application :-)
2/ Le mot de passe admin est nécessaire, tu n’y couperas pas. C’est vrai qu’il aurait pu utiliser les fonctions standards…

Spyro:

J’ai plein d’applis sur un disque secondaire moi.
Tu crois que ça vaut le coup de déplacer les applis que j’utilise le plus (en particulier celles qui se lancent au démarrage) sur le disque de démarrage ? (Sachant que j’y ai une place limitée).

Oui, ça vaut le coup. Par contre seules les applications Cocoa profitent du prebinding (donc, pas les produits Adobe, ni Microsoft par exemple).

43)
Fabien
, le 25.08.2004 à 09:03
[modifier]

drazam:

Chuis d’accord avec Anne : vu les options dispos, t’es pô cap’ de nous faire un test complet d’Onyx Fab’ !

chiche !

44)
mina
, le 25.08.2004 à 10:27
[modifier]

Concernant les autres disques que celui de démarrage, l’information donnée est fausse. La doc d’Apple mentionne juste que lors d’une installation, le prebinding est automatique sur la partition de boot.

If your executable is not installed on the boot partition, the prebinding tools may not be able to find it. Prebinding during installation occurs only on the boot partition of the system.

Si vous avez un disque « MonBoDisque », pour en effectuer le prebinding, il suffit de taper dans le terminal:

sudo update_prebinding -root /Volumes/MonBoDisque/

ou bien

sudo update_prebinding -root /Volumes/MonBoDisque/ -force

Nicolas

45)
Fabien
, le 25.08.2004 à 11:17
[modifier]

C’est tout à fait exact Nicolas !
Merci pour la précision.

46)
aegir
, le 25.08.2004 à 14:53
[modifier]

Suite à une discussion sur ce sujet dans un autre forum, voici quelques « tips » UNIX afin d’automatiser la maintenance de son système, et donc de se passer d’Onyx (un ordinateur c’est fait pour bosser à ma place, donc lancer un utilitaire régulièrement ça me fais ch*r ;-) ).

Vous le savez probablement, sous unix (et donc mac os), un démon « cron » permet de planifier des tâches. Mac OS est préconfiguré pour démarrer des scripts à intervalles réguliers qui vont faire du ménage, ou ce genre de basses besognes. Il y a 3 types de scripts : « daily », « weekly » et « monthly » qui – pour ceux qui ne parlent pas anglais – sont lancés respectivement quotidiennement, hebdomadairement et mensuellement.

Les scripts exécutés sont placés dans /etc/periodic/daily (ou weekly ou monthly).

La première idée qui vient donc à l’esprit est d’ajouter ses commandes à soi dans un de ces scripts, mais c’est une mauvaise idée, car ces scripts sont en général écrasés par de nouvelles versions lors des mises à jour de MacOS. Mais les choses sont bien faites, puisque ces scripts testent la présence d’un alter-ego xxxx.local dans le répertoire /etc (par exemple /etc/weekly.local )et s’il existe il est exécuté. Vous pouvez donc créer un joli /etc/weekly.local qui contiendra la commande « update_prebinding -root / », et vos prebindings seront actualisés toutes les semaines sans rien faire.

Sauf que… c’est bien gentil ces scripts, mais ils sont programmés dans le cron pour s’éxécuter vers les 4 heures du matin. ET comme en général, le mac n’est pas allumé à cette heure là, et ben ces scripts de maintenance ne sont jamais exécutés.

Mais il existe une solution miraculeuse nommée « anacron » qu’il faut installer sur son mac. anacron se charge de s’assurer que ces scripts sont bien exécutés au moins une fois. Ainsi, si votre mac reste éteint pendant 8 jours, lorsqu’il sera redémarré anacron se chargera de lancer en tâche de fond le « daily » et le « weekly » (et donc le update_prebinding).

J’insiste, la daily ne sera exécuté qu’une fois, et non pas 8 fois.

47)
Spyro
, le 25.08.2004 à 15:26
[modifier]

Non non Nicolas, ça c’est pour indiquer la localisation des bibliothèques système. Ça peut donc être utilisé pour pre_binder un disque système non courant mais c’est tout. Comme dit dans le man: update_prebinding uses the root to find the system libraries for that version of the OS.
« sudo update_prebinding -root /Volumes/MonBoDisque/ » ne conduit qu’à des erreurs de type « la bibliothèque elle est pas là ».

Par contre j’ai réussi en faisant ça:

sudo update_prebinding -verbose -root / -force -files /Volumes/Sparx/Applications/Captain FTP/Captain http://FTP.app/Contents/MacOS/Captain FTP

C’est à dire en indiquant le chemin de l’exécutable. Ici dans le cas particulier de Captain FTP. Et ça a marché.
En fait il ne semble pas possible de lui faire scanner tout un répertoire hors du disque de boot. Mais c’est pas tellement drôle de devoir les faire à la main… :-(

Et puis tout ça devrait être inutile si le démon fix_prebinding faisait son boulot correctement ! :-P
na !

48)
amnesiak
, le 25.08.2004 à 17:56
[modifier]

Bah… À la fin de l’article, il y a un lien vers une page chez Apple… Qui l’a lue ? Tout à la fin, il y a un paragraphe qui s’appelle Fixing Prebinding Information… qui explique clairement que Mac OS X détecte tout seul les fichiers binaires qui ne sont pas à jour et qu’il les corrige au bout de deux ou trois lancements… et qu’il n’y a donc jamais besoin – sauf cas exceptionnel, au cours du développement d’une application par exemple – de le faire à la main.
Et même le gars qui a programmé Xoptimize (l’un des premiers utilitaires à proposer cette optimisation) explique que cette opération est totalement inutile depuis 10.2.

49)
Spyro
, le 25.08.2004 à 20:08
[modifier]

Qui l’a lue ?

Moi.
Et je te dis que fix_prebinding ne fait pas son boulot correctement: la preuve en est l’existence même du gain de performance constaté par François.
Ou dans l’exemple ci-dessus: je lance souvent Captain FTP, or son prebinding n’était pas à jour. Peut-être parce que je ne le lance pas depuis le disque système (comme beaucoup de mes applications).

L’article que tu cites dit aussi: Applications on volumes other than the boot volume cannot have their prebinding information updated, Pourtant je l’ai fait, manuellement, pour Captain FTP.

Bref, c’est beau la théorie, mais l’informatique c’est pas que de la théorie ;-)

50)
mina
, le 25.08.2004 à 21:20
[modifier]

Moi aussi, je l’ai lue, tout comme la man page… et Spyro a raison, sur un disque autre que celui de démarrage, il faut le faire manuellement sur chaque exécutable, comme dans son exemple (le -verbose est inutile). Et le gars de XOptimize se goure.

En fait le paramètre après -root indique la hiérarchie où faire le prebinding et où trouver les librairies. C’est dommage :-(

Mille excuses

Nicolas

51)
Fabien
, le 25.08.2004 à 21:34
[modifier]

amnesiak: j’ai lu ces deux documents et je ne peux qu’être d’accord avec spyro et Nicolas. Le prebinding n’est pas parfait et je ne sais pas pourquoi. C’est pour cela que j’écris dans l’article que le prebinding « se perd » pour des raisons étranges.

52)
jibu
, le 25.08.2004 à 22:29
[modifier]

la méthode de aegir à l’aire pas mal, bien qu’un peu compliqué à mettre en oeuvre.
faudrait un ptit script qui fait tout ça … juste pour François :-)

55)
Anne Cuneo
, le 26.08.2004 à 21:16
[modifier]

[/quote]je l’ai ajouté dans l’article

Merci! Evidemment, l’idée de relire l’article que j’avais déjà lu ne me serait pas venue…

Anne

56)
dpesch
, le 28.08.2004 à 13:07
[modifier]

Merci Fabien pour cet article.
Je fais quelque fois appel à Onyx pour mettre de l’ordre dans OS X (10.3.5). Je ne constate pas de très nettes améliorations (la plupart du temps 2 rebonds pour ouvrir les préférences système). Du coup, Je me pose la question suivante : mon PB G4 17″ reste bien souvent allumé jour et nuit (et en veille lors des transports) jusqu’au moment des (assez fréquentes) mises à jour et leurs inéluctables redémarrages ; par conséquent, le système ne profite-t-il pas de son relatif repos nocturne pour s’autonettoyer ?
Peux-tu nous en dire plus à ce sujet ?
Preneur pour un test et un tutoriel sur Onyx (bonne idée Mme Cueno !)

57)
Fabien
, le 30.08.2004 à 07:33
[modifier]

dpesch, non les scripts de maintenance qui se lancent au milieu de la nuit ne font pas de mise-à-jour du prebinding, ils font juste un nettoyage des fichiers systèmes.

J’en parlerai un peu lors du test d’Onyx.

58)
terraben
, le 20.12.2004 à 18:18
[modifier]

Il semblerait que ce débat passionné dusse être relancé!

http://www.coriolis-systems.com/iDefrag-2.php

En résumé, la défragmentation est tout de même bien utile sous OS-X! Non pas en raison du risque de fragmentation prononcées des fichiers (comme c’était le cas sur les anciens systèmes MacOS) mais parce-qu’au fil du temps (mises à jour système, installations supplémentaires, etc), les fichiers systèmes (et tous les autres fichiers d’ailleurs) eux-même commencent à se disséminer un peu partout sur le disque ce qui implique, finalement, les mêmes désagréments que la fragmentation « old-style »…

Cet utilitaire (iDefrag) propose apparement un algorithme qui permet de réagencer les fichiers de manière optimale, tout en respectant la logique de fonctionnement de MacOS X.