le coup du "cannot fork...." sous mdk 8.0 ,ca arrive qu a moi ?! - Linux et OS Alternatifs
Marsh Posté le 06-11-2001 à 23:08:38
slvn a écrit a écrit : j ai une question qui me preocupe : j ai des messages d erreur du type : "INI : canno t fork, retry....." ou bien "Ressource temporarly down/occupied..." ca arrive alors que ca devrait pas arriver car y a rien qui a été rajouté, ca vient juste a la longue. et une fois que le message est la, on peut pu rien faire sur aucun compte, juste un reset ! il s agit d un pc 200 mmx qui sert de passerelle, donc il demarrage en run level 3 de la mandrake 8.0. |
heu... t'as foutu combien de swap?
cat /proc/cpuinfo
mem
df -h
et quand ca se reproduit :
ps auwx
Marsh Posté le 06-11-2001 à 23:14:41
mem = pas de commande ?!
cpuinfo = info cpu (en quoi c util ?!)
df -h : hda1 1.56 Go de libre hda6 1.5Go de libre aussi (et les autres ?!y en a pas ?!)
Marsh Posté le 06-11-2001 à 23:31:29
t'as pas mis de swap ?
T'étonnes pas alors ...
Marsh Posté le 06-11-2001 à 23:51:29
bah si, quand je fais l install par defaut, il me cree une swap non ?!
Marsh Posté le 07-11-2001 à 00:01:40
vaudrait p't'etre mieux verifier.
cfdisk /dev/hdtruc
Marsh Posté le 07-11-2001 à 00:02:39
ps : chez moi , ca forke nickel ...
Marsh Posté le 07-11-2001 à 13:33:45
cfidsk /Dev/hda >> j ai une partition hda5 qui est en "swap" et elle fait 254 Mo !
Marsh Posté le 07-11-2001 à 14:27:36
fork = fourchette donc forker = fourchetter ?
dans le man c'est nettement plus consistant mais ca consiste grosso modo à dupliquer une instance d'un prog. Une sorte de 'thread' (je sens que Ping ne va pas me rater sur ce coup là ) mais c'est different des threads.
Indispensable pour ecrire un serveur acceptant des connexions simultanés.
Apache se forke au demarrage , ainsi gain de temps et il peut accepter illico des connexions concurrentes , au lieu de forker au moment de la requete .
DESCRIPTION
fork crée un processus fils qui diffère du processus parent uniquement par ses
valeurs PID et PPID et par le fait que toutes les statistiques d'utilisation des
ressources sont remises à zéro. Les verrouillages de fichiers, et les signaux en
attente ne sont pas hérités.
Sous Linux, fork est implementé en utilisant une méthode de copie à l'écriture.
Ceci consiste à ne faire la véritable duplication d'une page mémoire que lorsqu'un
processus en modifie une instance. Tant qu'aucun des deux processus n'écrit dans
une page donnée, celle-ci n'est pas vraiment dupliquée. Ainsi les seules pénalisa
tions induites par fork sont le temps et la mémoire nécessaires à la copie de la
table des pages du parent ainsi que la création d'une structure de tâche pour le
fils.
Marsh Posté le 07-11-2001 à 14:29:26
mais ton msg d'erreur , tu l'as dans quelles circonstances ?
Marsh Posté le 07-11-2001 à 14:40:36
(j ai un serveur apache qui doit fourchetter )
c est un pc 200mmx qui sert de passerelle pour trois autre ordi (theoriquement j aimerais bien qu il tourne tout le temps)
le pb vient du fait que l abonnement wanadoo adsl (avec modem USB & driver benoit papillault) doit etre redemarrer toute les 23 H 55 min (sinon, on est kické automatiquement !)
j ai donc fait un script de connection et un autre deconnection que j utilise periodiquement a 7H du mat avec crontab!
là où ca foire peut etre c est que pour que crontab marche il faut que l utilisateur soit loggé (?!) donc j ai un "user" loggé en permanence....
et souvent apres un deux jours : l adsl marche tjrs sur le pc partagé, mais sur la passerelle y a le message d erreur avec le fork!! (et la pu moyen de s y loggé et d effectue ne serait ce qu un "ls" !!)
Marsh Posté le 07-11-2001 à 15:38:03
wow ....
Marsh Posté le 07-11-2001 à 16:38:37
ram ? noyau défoncé ? j'ai pas bcp d'idées là ...
Marsh Posté le 07-11-2001 à 17:43:58
Tu peux peut -etre resoudre ton pb autrement
Mets en plus les option
<b>persist
holdoff 99
</b>
dans le fichier /etc/ppp/peers/adsl
Tu tiendras 99 jours normalement.
Marsh Posté le 07-11-2001 à 18:22:20
ram= 128 Mo
noyau celui de la mandrake 8.0 (2.4.3 ?! a verifier... (je suis pas devant mon pc habituel)
deplus j ai deja eu parfois ce pb avec un TB 1.4 ghz ...qui servait pas de routeur... mais devait avoir occasionnellement le modem USB
serait ce ma distrib qui foirerait ?!
serieux mean ?!! ca va faire du 99 Jours avec la memem ip
Marsh Posté le 07-11-2001 à 20:42:56
nicotine a écrit a écrit : fork = fourchette donc forker = fourchetter ? dans le man c'est nettement plus consistant mais ca consiste grosso modo à dupliquer une instance d'un prog. Une sorte de 'thread' (je sens que Ping ne va pas me rater sur ce coup là ) mais c'est different des threads. |
un fork, c'est le fait de créer une nouvelle instance d'u programme en copiant l'instance qui a copié le fork... Le processus apelant se voit retourner le PID du nouveau process... la seule différence, c'est que le nouveau process est détaché de tout terminal et de toute entrée/sortie/erreur standart (entres autres)... Ca sert donc lors d'une daemonisation...
Marsh Posté le 07-11-2001 à 21:29:55
pkoi t'es faché ?
Marsh Posté le 08-11-2001 à 01:03:00
j'ai envie de dire un nouvel 'objet' ..mais bon , j'me comprend ..
Marsh Posté le 08-11-2001 à 10:57:11
slvn a écrit a écrit : c quoi ce que tu appelles une instance de programme?! |
bon, un programe sur ton disque, c'est un binaire (fréqument au format elf), mais c'est un fichier...
Quand tu l'execute, le noyeau créé une instance de ce programme dans la mémoire, c'est à dire que le fichier binaire est copié dans la mémoire, qu'il lui attribue des ressources (mémoires, ...), qu'il est inscrit avec une certaine prioritée dans le séquenceur (un des trucs qui gère le multitache), qu'une zone mémoire est créée pour contenir certaines infos relatives à ce process (PID, ...), qu'un terminal lui est rataché (stdin, stdout, stderr), ainssi que les éventuels pipes (named pipes), un répertoire est créé dans le pseudo système de fichier /proc (/proc/$PID/), ... Après tout ca, on pointe IP (Instruction Pointer) sur le début du code dans le CS (Code Segment) de l'executable, et on lui file la main pour qu'il se lance
Une instance, c'est ca, c'est tout ca, c'est un programme en mémoire, mais aussi tout ce qui tournes autour au niveau du kernel...
Je n'ai pas parlé volontairement que sous Linux, deux instances du même programme se partagent la même zone mémoire pour le programme...
[Nota]
Certaines parties ont étées volontairement skippées pour mettre cette explication au niveau des OSAteurs, d'autres trucs ont étées 'shématisés', 'imagés' pour les rendre plus accessible
[/Nota]
Marsh Posté le 08-11-2001 à 14:09:21
ok, la par exemple j ai encore une messages de fork :
INIT: cannot fork, retry
ca veut dire que INIT ne peux pas dupliquer son instance dans la memoire ?!
....en tout cas, je peux rien faire : pas de login possible !
....et pourtant l adsl marche
Marsh Posté le 08-11-2001 à 15:09:12
slvn a écrit a écrit : ok, la par exemple j ai encore une messages de fork : INIT: cannot fork, retry ca veut dire que INIT ne peux pas dupliquer son instance dans la memoire ?! ....en tout cas, je peux rien faire : pas de login possible ! ....et pourtant l adsl marche |
heu... c'est pas getty qui chies?
Marsh Posté le 08-11-2001 à 15:41:46
c est quoi getty ?!
(c quoi d ailleur les truc en tty qu on doit rajouter dans modules.conf pour faire marcher l adsl ?!)
Marsh Posté le 06-11-2001 à 23:00:56
j ai une question qui me preocupe :
j ai des messages d erreur du type :
"INI : canno t fork, retry....."
ou bien
"Ressource temporarly down/occupied..."
ca arrive alors que ca devrait pas arriver car y a rien qui a été rajouté, ca vient juste a la longue.
et une fois que le message est la, on peut pu rien faire sur aucun compte, juste un reset !
il s agit d un pc 200 mmx qui sert de passerelle, donc il demarrage en run level 3 de la mandrake 8.0.