OVH Cloud OVH Cloud

[FICHIER SWAP] comment purger?

172 réponses
Avatar
JmG
Tropicalités à tou(te)s...

J'ai un soucis avec mes fichiers SWAP (sur mon Ti/400 en 10.3.3) qui ne
se purgent pas d'office après avoir quitté les applis en cours.
Je suis à chaque fois obligé de rebooter si je veux les purger, ce qui
m'embête un peu quand même.

Particulièrement, c'est CIV III qui m'en crée un inpurgeable j'ai
remarqué, et il fait quand même 500 et quelques Mo!!!

Ma question donc: ya-t'il un moyen de purger ces SWAP autrement qu'en
rebootant le Mac svp?

Merci d'avance...

--
Le génie fait ce qu'il doit.
Le talent fait ce qu'il peut.

10 réponses

Avatar
Eric Lévénez
Le 9/06/04 20:24, dans <1gf4vwu.q8r4lo1v3nnsjN%,
« JmG » a écrit :

J'ai déjà réussi à vider mon swap (avec ONYX),


Vider le swap ???????????

ce n'est pas le problème.
Le problème, c'est que même si le swap est vide (0,0 Mo utilisé) ça ne
libère pas la place disque équivalente (512 Mo).


Bien sûr, comme expliqué maintes fois, tu n'as pas du tout "vidé le swap",
tu as juste effacé des noms de fichiers et pas les fichiers eux-mêmes. Et
pourquoi cela ? Simplement parce que les fichiers sont utilisés par le
gestionnaire de swap. Cela parce que des blocs de mémoire sont dans ces
fichiers. Et ces blocs appartiennent à qui ? À des programmes comme par
exemple l'interface graphique. Alors ce sera seulement quand ces programmes
se termineront, que ces blocs mémoire seront libérés de la mémoire
virtuelle, et donc libéré du swap. Là les fichiers swap ne seront plus
utilisés et ils seront automatiquement effacés.

Il faut donc que je reboote pour la récupérer, cette place.
Or, je voulais savoir si -sans redémarrer- je pouvais récupérer cette
place disque.


Tu peux t'amuser avec les options de dynamic_pager, mais si vraiment le swap
te dérange, une solution est de l'invalider, comme cela le comportement sera
comme sous Mac OS 9 : plantage de l'application dès qu'elle veut plus que la
mémoire physique :-) Au lieu de rebooter, tu peux toujours simplement te
délogguer et te relogger. Cela arrête les gros programmes graphiques et cela
a souvent des très bons côtés pour les fichiers swap.

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.

Avatar
Patrick Stadelmann
In article <1gf4w60.bj6zxi1tcnawoN%,
(JmG) wrote:

Puisque j'arrive à vider le swap avec ONYX, pourquoi, si je quitte CIV
III, ne me rend-il pas les 512 Mo qui restent quand même bloqués sur le
DD?


Ce n'est qu'une hypothèse, je ne connais pas trop le fonctionnement du
swap, mais peut-être que le système suppose que la situation où le swap
est nécessaire risque de se reproduire, et il conserve donc le fichier.

Si je pouvais libérer cette place inutilement prise par une appli
quittée, je pourrais au moins bosser sans que tout ne se ralentisse au
fil de swaps qui s'accumulent. Je n'aurais à rebooter *que* lorsque ce
ne serait vraiment plus possible de bosser confortablement.


Tu veux dire que si tu lances une autre appli, ça crée un autre swap ?
Ca par contre ça me semble étrange...

Patrick
--
Patrick Stadelmann

Avatar
JmG
Eric Lévénez wrote:

Oui, mais non. Je parlais de Mac OS X qui gérait le swap dans des
fichiers et les autre unix dans des partitions (pas des fichiers dans
des partitions). Il est possible, manuellement de déplacer ou étendre
le swap de Mac OS X sur différentes partitions, mais ce sera toujours
des fichiers dans des partitions.


Oui d'accord, mais au moins, comme je disais, je pourrais donc le mettre
sur une partition "externe" (mon gros DD externe) donc?


Oui, c'est techniquement possible.


Et comment fait-on alors?
Sans passer par le Terminal évidemment? :)


--
Le génie fait ce qu'il doit.
Le talent fait ce qu'il peut.



Avatar
JmG
Eric Lévénez wrote:

Le 9/06/04 20:24, dans <1gf4vwu.q8r4lo1v3nnsjN%,

J'ai déjà réussi à vider mon swap (avec ONYX),


Vider le swap ???????????


Oui...
Dans MenuMeters, tu sais combien le swap contient (là, il fait
actuellement 512 Mo).
Avec ONYX, je l'ai donc ramené à 0,0 Mo.
Pour moi, ça veut dire qu'il est vide.



ce n'est pas le problème.
Le problème, c'est que même si le swap est vide (0,0 Mo utilisé) ça ne
libère pas la place disque équivalente (512 Mo).


Bien sûr, comme expliqué maintes fois, tu n'as pas du tout "vidé le swap",


Je ne fait que retranscrire, à l'identique, ce que m'indique MenuMeters.
Maintenant, on peut jouer sur les mots si tu y tiens...
Mais pour moi, un truc qui fait 0,0 Mo (texto), c'est un truc vide
quelque part...


tu as juste effacé des noms de fichiers et pas les fichiers eux-mêmes.


Pourtant, MMeters est très clair là, il indique d'abord un nombre de
fichiers swap et ensuite, il indique qu'il n'y en a plus (de fichiers)
et que la taille est à 0,0 Mo.


Et
pourquoi cela ? Simplement parce que les fichiers sont utilisés par le
gestionnaire de swap. Cela parce que des blocs de mémoire sont dans ces
fichiers. Et ces blocs appartiennent à qui ? À des programmes comme par
exemple l'interface graphique. Alors ce sera seulement quand ces programmes
se termineront, que ces blocs mémoire seront libérés de la mémoire
virtuelle, et donc libéré du swap. Là les fichiers swap ne seront plus
utilisés et ils seront automatiquement effacés.


Ok... j'ai bien compris la distinction entre ces swaps et les blocs
"inscrits" sur le DD et qui prennent de la place DD.

Mais justement, mon soucis venait du fait que quand je quitte CIV III
(donc l'appli est "terminée" n'est-ce pas?) cette place DD ne m'est pas
rendue (en proportion de ce qui correspond à CIV III).


Il faut donc que je reboote pour la récupérer, cette place.
Or, je voulais savoir si -sans redémarrer- je pouvais récupérer cette
place disque.


Tu peux t'amuser avec les options de dynamic_pager, mais si vraiment le swap
te dérange, une solution est de l'invalider, comme cela le comportement sera
comme sous Mac OS 9 : plantage de l'application dès qu'elle veut plus que la
mémoire physique :-)


Je n'y tient pas spécialement, non... mais bon... on avait le réglage de
la moire virtuelle qui aidait à ne pas faire tout planter, avant, sous
OS pré-X... :)


Au lieu de rebooter, tu peux toujours simplement te
délogguer et te relogger. Cela arrête les gros programmes graphiques et cela
a souvent des très bons côtés pour les fichiers swap.


Justement, non, si je ne fais que me déloguer/reloguer, ça ne me rend
pas ces 512 Mo (ou 2 fois plus) pris sur mon DD... je suis *obligé* de
rebooter pour que ça revienne.


--
Le génie fait ce qu'il doit.
Le talent fait ce qu'il peut.


Avatar
JmG
Patrick Stadelmann wrote:

Puisque j'arrive à vider le swap avec ONYX, pourquoi, si je quitte CIV
III, ne me rend-il pas les 512 Mo qui restent quand même bloqués sur le
DD?


Ce n'est qu'une hypothèse, je ne connais pas trop le fonctionnement du
swap, mais peut-être que le système suppose que la situation où le swap
est nécessaire risque de se reproduire, et il conserve donc le fichier.


Ou alors, il y a une mauvaise gestion de ces fichiers?


Si je pouvais libérer cette place inutilement prise par une appli
quittée, je pourrais au moins bosser sans que tout ne se ralentisse au
fil de swaps qui s'accumulent. Je n'aurais à rebooter *que* lorsque ce
ne serait vraiment plus possible de bosser confortablement.


Tu veux dire que si tu lances une autre appli, ça crée un autre swap ?
Ca par contre ça me semble étrange...


Non, ça ne me crée un swap que si je manque de Ram, à un moment, je
suppose. Il s'incrémente donc aux précédents. J'arrive donc, dans
l'absolu, sans rebooter, à avoir 5 swap représentant un peu plus d'1 Go
éventuellement.


--
Le génie fait ce qu'il doit.
Le talent fait ce qu'il peut.


Avatar
Patrick Stadelmann
In article <1gf5qun.18b35upfxk2yN%,
(JmG) wrote:

Non, ça ne me crée un swap que si je manque de Ram, à un moment, je
suppose. Il s'incrémente donc aux précédents. J'arrive donc, dans
l'absolu, sans rebooter, à avoir 5 swap représentant un peu plus d'1 Go
éventuellement.


Si à un moment tu as eu besoin de ce Go supplémentaire, je ne pense pas
que se soit anormal : Mac OS X doit se dire qu'il n'y a pas de raison
que cette situation ne se reproduise pas et se réserve donc la place
disque nécessaire en n'effaçant pas les fichiers swap.

Patrick
--
Patrick Stadelmann

Avatar
phpinfo
JmG wrote:

Le moniteur d'activité m'a indiqué (après 2 tours de jeu, soit environ
30 minutes) : Civ III 1.21g
Mémoire réelle : 125 Mo
Mémoire Virtuelle : 224 Mo

Je re-regarderais après un usage plus intensif sur la machine, mais là
aucun swap et une conso mémoire fort modeste.


Oui, la conso mémoire n'est pas très importante, surtout en début de
jeu. C'est surtout la VRam qui est nécéssaire, sur une grosse carte et
avec pas mal de villes etc...


La VRam !? Tu es sur... La VRAM c'est pour l'affichage je pense pas que
CivIII soit asse mal programmé pour allouer un OffScreen de la taille
complète de la carte en VRAM !
Et puis la VRAM ne génère pas de swap, ça passe ou pas.

Mon iMac à une vieille carte toute pourrit : ATI Rage 128 (8 Mo).

--
Pierre-Alain Dorange

Vidéo, DV et QuickTime pour Mac <www.garage-video.fr.st>
Clarus, the DogCow <www.clarus.mac-fan.com>


Avatar
phpinfo
JmG wrote:

et si possible d'ajouter de la RAM pour
limiter le recours au swap.


Oui, mais comme je dis par ailleurs, j'ai 384 Mo de Ram et jamais moins
de 100 Mo dispo quand je joue à CIV III par exemple.


Do I Need Mode Memory (DINMM), permettra de t'assurer que les besoins
sont couvert et mieux suivre ce qui se passe...

Tu lances DINMM juste après un rédémarrage et il enregistre tout les
dépassement (qui occasionne du swap) et t'indiques au fur et a mesure de
combien de RAM tu aurais besoin pour couvrir tes besoins réels : a
laisser tourner sur une journée typique de boulot (ou de jeu)...

<http://www.hillmanminx.net/dinmm/index.html>
--
Pierre-Alain Dorange

Vidéo, DV et QuickTime pour Mac <www.garage-video.fr.st>
Clarus, the DogCow <www.clarus.mac-fan.com>


Avatar
Eric
JmG wrote:

Patrick Stadelmann wrote:

Puisque j'arrive à vider le swap avec ONYX, pourquoi, si je quitte CIV
III, ne me rend-il pas les 512 Mo qui restent quand même bloqués sur le
DD?


Ce n'est qu'une hypothèse, je ne connais pas trop le fonctionnement du
swap, mais peut-être que le système suppose que la situation où le swap
est nécessaire risque de se reproduire, et il conserve donc le fichier.


Ou alors, il y a une mauvaise gestion de ces fichiers?


Exact il y a une mauvaise gestion du swap. Je ne suis pas un expert, mais
d'après ce que j'ai compris de ce qui est exliqué ici, Os X gère mal les trous
dans le swap. Donc quan tu quittes Civ III, il te reste un fichier swap, c'est
normal. Parcequ'en fait dans ce fichier swap il n'y a pas que des données
relatves à Civ III, mais aussi des données relatives à l'affichage graphique
et elle tu l'utilises toujours. Donc Si j'ai bien compris tout ce qui a été
expliqué ici, si dans ton fichiers swap, il y a plein de trous de quelques KO,
et que le système à besoin de swap, il recréra un fichier swap plutôt que
d'utiliser les trous. C'est merdique, mais j'ai l'impression que c'est comme
ça que ça marche.

Donc ton problème vient du fait que dans ton swap il n'y a pas que du Civ mais
aussi d'autres fichiers. Quand tu quittes Civ, le swap correspondant
disparait, mais ça génère des trous dans le swap que Os X ne sait pas gérer,
du coup le swap ne réduit pas et continue a augmenter.

Je parle sous le controle d'expert (ce n'est pas mon cas, j'ai juste essayé de
dire clairement ce que j'avais compris) et mes propos sont corrigeables par
ceux-ci.

Bon quand est-ce qu'ils résolvent ce problème de swap chez la pomme. Parceque
ça a l'air super bien documenté et ça ne doit pas être si difficile que ça de
faire un truc qui marche.


PS: jmg tu la trouve où la dernière update de Civ III?

Eric -- Dur de la comprenure aussi



Avatar
Nicolas.MICHEL
JmG wrote:

Décidément, ce fil tourne au troll.


Commence pas à me gonfler avec ce genre d'argument inutile, stp...
merci.


C'est que tu t'entête dans une voie qui n'est pas la bonne.
Il ne faut pas effacer les fichiers de swap toi-même, ni à la main ni
avec un soft à la con.
C'est au system de gérer correctement le swap.
Ce que tu peux faire c'est modifier le comportement du system si les
réglages de base ne te conviennent pas.

J'essayerai quoi exactement?


Ok. C'est partit. Modif de rc sans le terminal, étape par étape.

Tu me diras combien de temps ça t'a pris. Perso j'en ai eu pour moins de
5 minutes.

1) Préliminaires :
Si tu ne les as pas déjà, tu download sur versiontracker pseudo,
rbrowser lite et bbedit lite. Ils s'installent par glisser-déposer je
crois.
Il y a d'autes softs, mais je te fais un topo avec ceux là.
C'est du shareware, si ils te plaisent et que tu les utilises souvent...
Bon ça tu connais :)

Ensuite tu ouvres pseudo, et tu glisses RBrowser sur l'image de pseudo
qui est dans le doc. passwd. Puis tu glisses BBedit sur pseudo aussi.
Passwd. Là tu as ouvert ces softs avec les droits root.

Dans les prefs de RBrowser, tu peux cocher l'option "show hidden files"
pendant que tu y es. C'est pas nécessaire pour ce qu'on fait là, mais
c'est pour le principe.

Dans les prefs de BBedit, tu vas sous "text file:saving" et tu coches
"Delault line breaks : Unix" puis "Force new line at end"

Là tu est équipé pour voir et éditer des fichiers text unix sans le
terminal et sans t'embêter avec les droits d'accès, les trucs cachés et
tout ça.

2) plat principal :
Dans RBrowser, tu prends "file/new viewer" si besoins, tu trouves le
fichier /etc/rc et tu le glisses sur l'icone de BBedit qui est dans le
doc.

Dans BBedit tu fais une recherche (pomme f) sur le mot "dynamic_pager".

Devant la ligne qui commence par dynamic_pager, tu mets le charactère #
pour déasctiver la ligne sans l'effacer.
Sous cette ligne, tu colles

dynamic_pager -F ${swapdir}/swapfile -S 83886080 -L 125829120 -H 8388608

(ça doit prendre une seule ligne)

Le résulat est donc :

#dynamic_pager -F ${swapdir}/swapfile
dynamic_pager -F ${swapdir}/swapfile -S 83886080 -L 125829120 -H 8388608

Tu sauves, quites, reboot et ton swap devrait à présent fonctionner
comme il faut. Si c'est pas le cas, c'est un bug à envoyer à Apple.

Il faut donc que je reboote pour la récupérer, cette place.
Or, je voulais savoir si -sans redémarrer- je pouvais récupérer cette
place disque.


Dans ma méthode, il faut rebooter 1 seule et unique fois pour que les
modif de rc soient prises en compte. Normal, rc est le script de boot.
Après, c'est bon, le problème est réglé pour les mois à vennir et les
pages de swap devraient se libérer toutes seules.
Il se peut qu'à la prochaine update system il faille refaire la manip.
Merci Apple :)

Si tu as un soluce à me proposer pour faire exactement cela, je suis
évidemment prêt à l'essayer, comme j'ai essayé plusieurs trucs donnés
ici.


Alors ne te gêne pas, Saïd et moi avons testé et aprouvé la modif que je
te donnes. Il a utilisé d'autres valeures, tu peux mettre ce que tu veux
en suivant la règle : "(S + H) < L"
(il y a d'autres fils qui parlent de ça en ce moment ici-même)

(j'ai testé, chez moi ça marche, si je quites une appli gourmande, les
fichiers de swap disparaissent)


Mais la place DD équivalente... l'as-tu récupérée?


Oui, c'est pas à moi d'effacer les pages de swap, c'est le system qui
s'en charge. Et lui, il libère bien l'espace disque.

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