Re: Oops

2003-02-11 Par sujet Daniel Cordey
On Tuesday 11 February 2003 08:35, Moncho Jeremy wrote:
  Ce n'est pas une raison pour crasher. Sauf bien sûr si vous n'avez
  pas assez de swap.

 Très possible, et surement tres juste vu que j'était sur mon vieux
 laptop avec 192mb.
 Y-a-t'il moyen de de liberer (flush) la RAM sans rebooter?

On peut flusher le contenu des buffers de la write-queue du buffer cache 
avec la commande sync, mais c'est tout. Pour le reste de la mémoire, si une 
application tourne depuis longtemps et occupe une grosse quantité de mémoire 
Resident Set Sise : RSS dans top) , tel que Netscape, Konqueror, le seul 
moyen est d'arrêter le programme et de le redémarer. Mais, à terme, ce 
programme utilisera de nouveau un bon paquet de mémoire.

La manièere de gérer la mémoire est le travail du memory management du 
kernel. Les rêgles de gestion sont en perpétuel évolution et elles changent, 
ou sont modifiées, pratiquement à chaque release. On nous annonce d'ailleur 
une refont d de la VM pour la version 2.6 du kernel... Mais dans tous les 
cas, il n'y a pas de moyens pour donner des ordres au kernel afin qu'il 
flush des pages dans la RAM ! La seule chose que je reprocherais aux 
multiples version du kernel depuis le début, c'est une rêgle de la gestion de 
la taille dynamique du file system buffer cache qui me paraît inadéquate. 
C'est à dire que la portion dévolue au buffer cache n'est pas capable de 
rendre de la mémoire aux applications rapidement. C'est une approche très 
workstation et très pénalisante en environnement serveur. Mais, bon, des 
gens très compétents sont en train de s'en occuper; du moins je l'éspère.

Daniel

--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se désabonner aussi.



Re: Oops

2003-02-11 Par sujet Marc SCHAEFER
On Tue, Feb 11, 2003 at 08:35:50AM +0100, Moncho Jeremy wrote:

 Y-a-t'il moyen de de liberer (flush) la RAM sans rebooter?

Sous UNIX, lorsqu'un processus se termine (*), toute la mémoire utilisée
est automatiquement rendue.

(*) exceptions:
   - memory-leak du kernel (mais en général ça se voit)
   - crash en mode kernel
   - régions de mémoire partagée non rendus (voir la commande ipcs)
   - fichier temporaire (`mémoire disque') non effacés

Probablement que vous voyez quelque chose comme:

 total   used   free sharedbuffers cached
Mem:127148 111328  15820  0   1856 45456
-/+ buffers/cache:  64016  63132
Swap:   248968  47000 201968

et vous vous dites, j'aimerais bien ne plus avoir de swap utilisé, et
plein de mémoire *libre* (sous free).

Réponse rapide:

   # swapoff -a; swapon -a   # vide le swap

Réponse longue:

   S'il n'y a pas ou très peu d'activité sur le swap (voir commande
   vmstat 5, colonnes si et so sur une longue durée), les données
   qui sont en swap ont donc été mises là pour une excellente raison:
   elles ne servaient à rien et la mémoire RAM libérée ainsi peut
   être utilisée pour de meilleurs usages (autres données, cache
   disque).

   De plus, à quoi sert d'avoir la RAM complètement libre si les
   entrées/sorties n'ont qu'un tout petit cache ?  La mémoire libre,
   par définition, est gaspillée.

   En conséquences les systèmes UNIX modernes ajustent dynamiquement
   les paramètres de cache: ils laissent un peu de mémoire libre
   pour permettre aux interruptions (trafic réseau p.ex.) d'allouer
   atomiquement de la mémoire sans devoir swapper quelque chose ou
   écrire des buffers. Mais en théorie, si le système ne fait qu'écrire,
   par exemple, on finira par free petit, buffers très grand, et
   un peu d'activité de swap au début.

Donc ce n'est pas le fait d'avoir des choses dans le swap qui est
problématique, mais d'en avoir besoin (si et so élevés dans vmstat 5).

Enfin, ce n'est pas parce que la mémoire libre n'augmente pas lorsqu'un
processus se termine que la mémoire est perdue: il faut garder à
l'esprit l'ensemble (swap, buffers, cached, free). D'ailleurs la
commande free fait ce calcul: dans l'exemple ci-dessus, il y a en fait
63 MB de mémoire RAM libre, et 264 MB de mémoire libre. Dont 200 de swap
(en dernier recours), 45 MB de cache lecture (donc dès qu'on en a besoin
on peut l'utiliser comme mémoire normale), et 2 MB de cache écriture
(qu'il faut écrire sur disque avant de pouvoir réutiliser).

Tous ces paramètres sont contrôlables, mais à part quelques versions
bancales (2.4.10 à 2.4.17) du kernel ça fonctionne en général bien tout
seul.

Donc en bref, rebooter votre machine donnera peut-être au début
l'illusion d'une grande rapidité.

--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se désabonner aussi.



Re: Oops

2003-02-11 Par sujet Marc SCHAEFER
On Mon, Feb 10, 2003 at 10:05:56PM +0100, Marc SCHAEFER wrote:
 crash, mais un ralentissement extrêment rappelant un coinçage.

extrême.

Et dans ce cas, au moins en 2.2.x, si on avait configuré le système
pour, on pouvait taper une séquence de touche avec Sysrq pour voir la
cause du ralentissement / interblocage.
--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se désabonner aussi.



Re: Oops

2003-02-10 Par sujet Markus Baertschi

Jeremy,

essaye de démarrer sur un CD. Cela te permets de monter
la partition / (ou se trouve les fichiers passwd) et de
les réparer.
Un CD de sauvegarde 'rescue CD' fonctionne pour cela. Souvent
les CD d'installation des distributions ont aussi une fonction
de sauvetage.

Markus

P.S. Pourquoi est-ce que ton PC à planté. Cela ne devrait pas
 arriver normalement...

On Mon, 10 Feb 2003 19:45:04 +0100, Moncho Jeremy wrote:

Bonsoir a tous,

Je crois avoir mer*é... J'etais en train d'editer visudo, et mon pc a
planté. Depuis, plus moyens de me logger. Ni en user, ni en root...
Le clavier (config) est juste mais rien a faire.

Que faire?

merci d'avance,

jeremy (qui panique qd meme!)

--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se désabonner aussi.



--
  Markus Baertschi Phone: ++41 (21) 807 1677
  Bas du Rossé 14b Fax  : ++41 (21) 807 1678
  CH-1163, EtoyEmail: [EMAIL PROTECTED]
  Switzerland  Homepage: www.markus.org


--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se désabonner aussi.



Re: Oops

2003-02-10 Par sujet Vicky Rezzonico
Hello,

si tu n'as pas de CD de distro sous la main tu peux télécharger tomsrtbt,
une distro qui tiens sur une disquette:

http://www.toms.net/rb/

Vicky
--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se désabonner aussi.



Re: Oops

2003-02-10 Par sujet Marc SCHAEFER
On Mon, Feb 10, 2003 at 07:45:04PM +0100, Moncho Jeremy wrote:
 Que faire?

au promot LILO:

   linux init=/bin/sh

ensuite:

   mount / -o remount,rw
   passwd root
   mount / -o remount,ro
   reboot (ou RESET)

Maintenant il y a peut-être eu plus grave que juste ce que tu as décrit:
ça a peut-être planté pour une bonne raison (disque défectueux p.ex.)

--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se désabonner aussi.



Re: Oops

2003-02-10 Par sujet Moncho Jeremy
Merci pour les réponses! Je me suis rappelé que j'avais eu ce
probleme l'année derniere, et je remercie le dieu des linux du faite
que j'avais ecris une procedure pour resetter le password root!

En gros c'etait:

-position the cursor on the kernel line and type e
-add the word linux 1 on the second line
-press enter to return ot the editing screen
-type b to boot the computer
-at bash:

passwd root

et pis tu touche plus a visudo...

(Sinon, je crois avoir crashé car j'était aussi en train de compiler
une (grosse) appli java, et j'ai vu que c'etait parti en vrille après
ça... je retourne débugger. SANS TOUCHER A VISUDO!!!)

merci :-)


jeremy

--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se désabonner aussi.



Re: Oops

2003-02-10 Par sujet Marc SCHAEFER
On Mon, Feb 10, 2003 at 09:06:07PM +0100, Moncho Jeremy wrote:

 (Sinon, je crois avoir crashé car j'était aussi en train de compiler
 une (grosse) appli java, et j'ai vu que c'etait parti en vrille après
 ça... je retourne débugger. SANS TOUCHER A VISUDO!!!)

Ce n'est pas une raison pour crasher.  Sauf bien sûr si vous n'avez pas
assez de swap. Dans ce dernier cas cela ne s'appelle d'ailleurs pas un
crash, mais un ralentissement extrêment rappelant un coinçage.

--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se désabonner aussi.



Re: Oops

2003-02-10 Par sujet Moncho Jeremy

 Ce n'est pas une raison pour crasher. Sauf bien sûr si vous n'avez
 pas assez de swap.

Très possible, et surement tres juste vu que j'était sur mon vieux
laptop avec 192mb. 
Y-a-t'il moyen de de liberer (flush) la RAM sans rebooter?

jeremy

--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se désabonner aussi.