OVH Cloud OVH Cloud

[Q : Tiger] Comment faire pour que les swapfiles soient sur un autre disque ?

30 réponses
Avatar
blanc
Bonjour à tous.

Me voici rentré de vacances en espérant pour tous que vous en avez passé
d'excellentes.

Je rappelle ma config : G4 QS 933 avec 768 Mo de RAM (ça n'a pas changé)
et Tiger 10.4.7 (ça c'est tout nouveau pour moi :-)).

J'avais posé la même question (voir titre) en juin 2005, mais j'étais
alors sous Panther, et la solution que j'avais obtenu m'avais satisfait
jusqu'à maintenant... où je viens de passer sous Tiger ;-)

voir le fil correspondant :
<http://groups.google.fr/group/fr.comp.os.mac-os.x/browse_frm/thread/e4d
ffe5800ceb93f/f3bf8d71975f28a5?lnk=gst&q=tiger+swapfile&rnum=2#f3bf8d719
75f28a5>

En fait il semblerait que sous Tiger le script /etc/rc ne soit plus
exécuté.

Quelqu'un aurait-il une solution, car c'est un gros problème pour moi,
je n'ai que le strict minimum de dispo sur ma partition système, et je
n'ai pas envie de tout repartitionner...

JPaul.
--
/==/==\\-\ Jean-Paul BLANC
/ /--/--//\\ quelque-part (somewhere)
|/| L |\\\ en (in)
\/|| = |||\\\ FRANCE

10 réponses

1 2 3
Avatar
Nicolas.MICHEL
JPaul wrote:

Et j'ai pu ainsi constaté qu'en fait, c'est que mon disque Clermont4
n'était pas encore monté.


ça ne m'étonne pas.

J'ai donc augmenté le nombre d'iterations de la boucle (de 30 à 200) et
j'ai effectivement observé une attente de 120 et quelques secondes...
sans que le disque ne se monte ;-(

En fait en mettant quelques tests un peu partout, j'ai constaté que mes
disques secondaires ne se montaient effectivement qu'à la fin de rc
(bien que la commande mount soit plutôt au début),


Est-ce bien "mount" qui s'occupe de monter ton disque ?
J'en doutes. /etc/rc chez moi a ceci :

mount -uw /
[ -f /etc/fstab ] && mount -vat nonfs

Autrement dit, mount commence par monter le root file system en rw.
Puis si /etc/fstab existe, il lance un mount pour les disques contennus
dans ce fichier.
Un "mount -a" ne monte pas un disque absent de /etc/fstab, sauf erreur.

C'est plutôt automount qui s'en charge, lequel n'est pas dans /etc/rc.
Je suppose, malgré qu'il soit très mal nomé, que c'est ça :
/System/Library/StartupItems/NFS/NFS
qui s'en occupe.

As-tu mis une entrée dans la fstab ?

Un truc genre :

LABEL=NomDoiseau /MemVirtuelle hfs rw

Ou mieux, un truc genre

UUID=xxxxxxxxxx /MemVirtuelle hfs rw

Devrait le faire.
Il y a un article de Jayce sur mosx.net à ce sujet.

et ceci qquesoit le
nb d'iter. D'où j'en ai déduit que le processus de montage est bloqué
durant l'exécution d'une partie de rc, ce qui n'était pas le cas sous
Panther. Et ceci doit être du au fait que maintenant rc est en fait
interprété par launchd plutôt que par un shell indépendant. :-((((



<http://developer.apple.com/documentation/MacOSX/Conceptual/BPSystemStar
tup/Articles/BootProcess.html>

Prior to Mac OS X v10.4, the remaining system initialization was handled
by the mach_init and init processes. During the course of
initialization, these processes would call various system scripts
(including /etc/rc), run startup items, and generally prepare the system
for the user. While many of the same scripts and daemons are still run,
the mach_init and init processes have been replaced by launchd in Mac OS
X v10.4 and later. This change means that launchd is now the root system
process.


Je n'ose pas changer l'ordre et mettre le lancement de la vm à la fin.


Si tu as un autre moyen de booter ton mac (en target par exemple), que
crains-tu ?

L'autre chose que je me demande, mais il y a des gens plus pointus que
moi à ce sujet, c'est que si tu as assez de ram dans ton mac tu peux
peut-être traiter le problème différement, c'est à dire lancer
dynamic_pager après que automount soit lancé. Mais perso je commencerais
par une petite ligne dans la fstab.
--
S'il n'y a pas de solutions, c'est qu'il n'y a pas de problèmes
iChat/AIM : michelnicolas

Avatar
blanc
Nicolas MICHEL wrote:

ça ne m'étonne pas.


ok.


Est-ce bien "mount" qui s'occupe de monter ton disque ?
J'en doutes. /etc/rc chez moi a ceci :

mount -uw /
[ -f /etc/fstab ] && mount -vat nonfs

Autrement dit, mount commence par monter le root file system en rw.
Puis si /etc/fstab existe, il lance un mount pour les disques contennus
dans ce fichier.
Un "mount -a" ne monte pas un disque absent de /etc/fstab, sauf erreur.


D'accord. J'avais lu un peu vite ces deux lignes, les prenant d'ailleurs
pour une seule.

C'est plutôt automount qui s'en charge, lequel n'est pas dans /etc/rc.
Je suppose, malgré qu'il soit très mal nomé, que c'est ça :
/System/Library/StartupItems/NFS/NFS
qui s'en occupe.

As-tu mis une entrée dans la fstab ?

Un truc genre :

LABEL=NomDoiseau /MemVirtuelle hfs rw

Ou mieux, un truc genre

UUID=xxxxxxxxxx /MemVirtuelle hfs rw


Donc je pourrai, si je te suis bien, mettre Clermont4 dans fstab, pour
lui permettre d'être monté dès le début de rc...

Devrait le faire.
Il y a un article de Jayce sur mosx.net à ce sujet.


Peux-tu me donner une URL ?

et ceci qquesoit le
nb d'iter. D'où j'en ai déduit que le processus de montage est bloqué
durant l'exécution d'une partie de rc, ce qui n'était pas le cas sous
Panther. Et ceci doit être du au fait que maintenant rc est en fait
interprété par launchd plutôt que par un shell indépendant. :-((((



<http://developer.apple.com/documentation/MacOSX/Conceptual/BPSystemStar
tup/Articles/BootProcess.html>

Prior to Mac OS X v10.4, the remaining system initialization was handled
by the mach_init and init processes. During the course of
initialization, these processes would call various system scripts
(including /etc/rc), run startup items, and generally prepare the system
for the user. While many of the same scripts and daemons are still run,
the mach_init and init processes have been replaced by launchd in Mac OS
X v10.4 and later. This change means that launchd is now the root system
process.


Vu.

Je n'ose pas changer l'ordre et mettre le lancement de la vm à la fin.


Si tu as un autre moyen de booter ton mac (en target par exemple), que
crains-tu ?

L'autre chose que je me demande, mais il y a des gens plus pointus que
moi à ce sujet, c'est que si tu as assez de ram dans ton mac


768 Mo.

tu peux
peut-être traiter le problème différement, c'est à dire lancer
dynamic_pager après que automount soit lancé.


Donc en dehors de rc, par une config launchd ? pourquoi pas ?...

Mais perso je commencerais
par une petite ligne dans la fstab.


Je vais essayer tout ça dès que possible. Merci.

JPaul.
--
/==/==- Jean-Paul BLANC
/ /--/--// quelque-part (somewhere)
|/| L | en (in)
/|| = ||| FRANCE


Avatar
Nicolas.MICHEL
JPaul wrote:

Nicolas MICHEL wrote:

LABEL=NomDoiseau /MemVirtuelle hfs rw


Donc je pourrai, si je te suis bien, mettre Clermont4 dans fstab, pour
lui permettre d'être monté dès le début de rc...


C'est l'idée, mais j'ai pas testé.

Devrait le faire.
Il y a un article de Jayce sur mosx.net à ce sujet.


Peux-tu me donner une URL ?


<http://www.mosx.net/dossiers/fstabOSX.shtml>

C'est un brin couillu à lire, mais la pratique est simple :

1) Tu nomes ta partition de façon originale, pour éviter qu'un jour un
autre disque ait le même nom. Admettons que Clermont4 te convienne.
Sinon adaptes la suite.

2) tu crées le point de montage, par exemple à la racine :

sudo mkdir /Clermont4

3) tu ajoutes ton disque dans le fstab :

sudo su -
echo "LABEL=Clermont4 /Clermont4 hfs rw" >>/etc/fstab

puis reboot.
Prévoir un parachute de secours :)

tu peux
peut-être traiter le problème différement, c'est à dire lancer
dynamic_pager après que automount soit lancé.


Donc en dehors de rc, par une config launchd ? pourquoi pas ?...


En principes la memoire virtuelle et le swap sont parmis les premières
choses à êtres montées. Si tu ne l'as pas fait avant que ta mémoire ne
soit pleine j'immagines que le système tire la geule.
Mais avec assez de ram ce serait à tester amha.

Mais perso je commencerais
par une petite ligne dans la fstab.


Je vais essayer tout ça dès que possible. Merci.


De rien, c'est intéressant. Si tu y arrives, merci de nous dire comment,
ça servira pour les suivants :)

--
S'il n'y a pas de solutions, c'est qu'il n'y a pas de problèmes
iChat/AIM : michelnicolas


Avatar
1ternaute
"JPaul" a écrit dans le message de news:
1hlcr8b.epews11qpc2ruN%
Nicolas MICHEL wrote:

ça ne m'étonne pas.


ok.


Est-ce bien "mount" qui s'occupe de monter ton disque ?
J'en doutes. /etc/rc chez moi a ceci :

mount -uw /
[ -f /etc/fstab ] && mount -vat nonfs

Autrement dit, mount commence par monter le root file system en rw.
Puis si /etc/fstab existe, il lance un mount pour les disques contennus
dans ce fichier.
Un "mount -a" ne monte pas un disque absent de /etc/fstab, sauf erreur.


D'accord. J'avais lu un peu vite ces deux lignes, les prenant d'ailleurs
pour une seule.

C'est plutôt automount qui s'en charge, lequel n'est pas dans /etc/rc.
Je suppose, malgré qu'il soit très mal nomé, que c'est ça :
/System/Library/StartupItems/NFS/NFS
qui s'en occupe.

As-tu mis une entrée dans la fstab ?

Un truc genre :

LABEL=NomDoiseau /MemVirtuelle hfs rw

Ou mieux, un truc genre

UUID=xxxxxxxxxx /MemVirtuelle hfs rw


Donc je pourrai, si je te suis bien, mettre Clermont4 dans fstab, pour
lui permettre d'être monté dès le début de rc...

Devrait le faire.
Il y a un article de Jayce sur mosx.net à ce sujet.


Peux-tu me donner une URL ?

et ceci qquesoit le
nb d'iter. D'où j'en ai déduit que le processus de montage est bloqué
durant l'exécution d'une partie de rc, ce qui n'était pas le cas sous
Panther. Et ceci doit être du au fait que maintenant rc est en fait
interprété par launchd plutôt que par un shell indépendant. :-((((



<http://developer.apple.com/documentation/MacOSX/Conceptual/BPSystemStar
tup/Articles/BootProcess.html>

Prior to Mac OS X v10.4, the remaining system initialization was handled
by the mach_init and init processes. During the course of
initialization, these processes would call various system scripts
(including /etc/rc), run startup items, and generally prepare the system
for the user. While many of the same scripts and daemons are still run,
the mach_init and init processes have been replaced by launchd in Mac OS
X v10.4 and later. This change means that launchd is now the root system
process.


Vu.

Je n'ose pas changer l'ordre et mettre le lancement de la vm à la fin.


Si tu as un autre moyen de booter ton mac (en target par exemple), que
crains-tu ?

L'autre chose que je me demande, mais il y a des gens plus pointus que
moi à ce sujet, c'est que si tu as assez de ram dans ton mac


768 Mo.

tu peux
peut-être traiter le problème différement, c'est à dire lancer
dynamic_pager après que automount soit lancé.


Donc en dehors de rc, par une config launchd ? pourquoi pas ?...

Mais perso je commencerais
par une petite ligne dans la fstab.


Je vais essayer tout ça dès que possible. Merci.

JPaul.
--
/==/==- Jean-Paul BLANC
/ /--/--// quelque-part (somewhere)
|/| L | en (in)
/|| = ||| FRANCE


Bonjour,

C'etait dit dans l'article que je t'avais donne ;o) :

http://www.bombich.com/mactips/swap.html

*********
1.. Create an fstab file -- this file is queried by the "mount -uw /"
command in your startup script (/etc/rc). Volumes indicated in this file
will be mounted before the virtual memory system is started.
2.. %> sudo pico /etc/fstab
3.. [The pico editor will open. Paste the following line of code into the
editor]:
1.. /dev/disk1s9 /Volumes/swap hfs rw 1 2
4.. You may use one tab between each item in this file in place of the
spaces to make it more readable (I left spaces so it can be copied and
pasted into your fstab file). Don't forget to change "/dev/disk1s9" to your
disk location and "hfs" to "ufs" if that is how you formatted the partition.
************



Avatar
Nicolas.MICHEL
1ternaute wrote:

1.. /dev/disk1s9 /Volumes/swap hfs rw 1 2


la prochaine fois on lira les liens avant de réinventer le monde :)

une petite remarque quand-même à ce sujet ...

/dev/disk1s9 n'est vraiment pas la chose à faire :

le numérotage commence à zero, donc il y a là 2 disques.
Or le numéro du disque est aléatoire, donc un coup ta partition sera
/dev/disk1s9, et au reboot suivant ça sera /dev/disk0s9

Il y a 2 autres méthodes pour nomer un disque, heureusement :

Pour commencer il y a LABEL=NomDuDisque, simple puisqu'on donne le nom à
partir du finder. Le problème ici étant que si tu mets un nom courrant
tel que DATA, il y a des chances pour qu'un jour tu branches sur ton mac
une machine avec ne même nom, entrainant alors une confusion.

L'autre méthode est le tag UUID, unique, qui est la meilleure méthode
mais la plus longue et la plus technique. (il faut générer puis trouver
le numéro UUID)

M'enfin bref, c'est juste un détail technique.

--
S'il n'y a pas de solutions, c'est qu'il n'y a pas de problèmes
iChat/AIM : michelnicolas

Avatar
blanc
1ternaute wrote:

C'etait dit dans l'article que je t'avais donne ;o) :

http://www.bombich.com/mactips/swap.html

*********
1.. Create an fstab file -- this file is queried by the "mount -uw /"
command in your startup script (/etc/rc). Volumes indicated in this file
will be mounted before the virtual memory system is started.


Oups !... J'avais zappé ça, car je pensais alors que la fstab existait
déjà sous Tiger pour tous les disques montés par le système.

Donc je n'avais regardé que la partie suivante, qui correspondait comme
dit précédement à ce que je faisais sous Panther, et qui ne marche plus
sous Tiger.

Ceci étant je pense que l'utilisation de LABEL ou UUID, comme indiquée
par Nicolas, est meilleure. Sinon je n'ai pas encore eu le temps
d'essayer.

Merci.

JPaul.
--
/==/==- Jean-Paul BLANC
/ /--/--// quelque-part (somewhere)
|/| L | en (in)
/|| = ||| FRANCE

Avatar
1ternaute

L'autre méthode est le tag UUID, unique, qui est la meilleure méthode
mais la plus longue et la plus technique. (il faut générer puis trouv er
le numéro UUID)


On pourrait l'inserer dans fstab au lieu de /dev/disk1s9 ?

Avatar
Nicolas.MICHEL
1ternaute wrote:


L'autre méthode est le tag UUID, unique, qui est la meilleure méthode
mais la plus longue et la plus technique. (il faut générer puis trouver
le numéro UUID)


On pourrait l'inserer dans fstab au lieu de /dev/disk1s9 ?


Oui, pour ça tu peux lire l'article sur fstab ici :

http://www.mosx.net/dossiers/fstabOSX.shtml


En gros tu dois générer le UUID et le lire, par ex:

zsh
sudo autodiskmount -v
sudo diskutil unmount disk0s9
sudo /System/Library/Filesystems/hfs.fs/hfs.util -s disk0s9
sudo /System/Library/Filesystems/hfs.fs/hfs.util -k disk0s9 ;echo

puis mettre une ligne dans le fstab genre :

UUID608EACBC622392 /mout/point hfs rw

Le point de montage doit exister.

--
S'il n'y a pas de solutions, c'est qu'il n'y a pas de problèmes
iChat/AIM : michelnicolas


Avatar
Herve
En gros tu dois générer le UUID et le lire, par ex:

zsh
sudo autodiskmount -v
sudo diskutil unmount disk0s9
sudo /System/Library/Filesystems/hfs.fs/hfs.util -s disk0s9
sudo /System/Library/Filesystems/hfs.fs/hfs.util -k disk0s9 ;echo


L'UUID est donné plus simplement par Utilitaire de Disque (choisir le
volume, cliquer sur l'icône "Informations" et voir la ligne
"Identifiant unique universel").

Hervé

Avatar
Nicolas.MICHEL
Herve wrote:


sudo /System/Library/Filesystems/hfs.fs/hfs.util -k disk0s9 ;echo


L'UUID est donné plus simplement par Utilitaire de Disque (choisir le
volume, cliquer sur l'icône "Informations" et voir la ligne
"Identifiant unique universel").


Ah, oki, je ne savais pas.
Ma méthode date faut dire.
Ce qui est marrant, c'est que les 2 méthodes ne retournent pas la même
valeur mais qu'apparement les deux fonctionnent.

Sur la même partoche, ma méthode donne ceci :
103658DE77C7EF18

Et ta méthode ceci :
7329DD78-B817-37E5-A2F3-766EAC59B7EC

Dureste,
sudo diskutil info /Volumes/partoche
retourne la même info que l'utilitaire disque.

Merci :)
--
S'il n'y a pas de solutions, c'est qu'il n'y a pas de problèmes
iChat/AIM : michelnicolas


1 2 3