[Linux] Ressources CPU incohérentes

Répondre
Partager Rechercher
Salut à tous,

En écrivant un script bash pour commander de façon externe mon serveur dédié linux 1.32 j'ai constaté un phénomène inexplicable :

Lorsque je lance "nwserver -module monmodule"
La commande "top" m'indique 20% de charge CPU et environ 10Mo de RAM exploitées par nwserver

Mais dès que je lance "nwserver -module -monmodule &" en tache de fond, "top" m'indique immédiatement 99.9% des ressources CPU et 10Mo de RAM exploitées par nwserver !

Quelqu'un a t-il experimenté un phénomène similaire ??? Pensez-vous que cela peut etre une fausse alerte comme cela arrive parfois avec des applications sous windows qui faussent le moniteur de ressources ?

Ma config :

Linux RH8
PIII 500
256Mo RAM
Nwnserver 1.32
en screen nwserver bouffe 100% des ressources, quelquesoit la taille du module, du hak, du nombres de joueurs, scripts etc...

c'est connu depuis un sacré bout de temps: quand nwserver peut chopper 100% du cpu, il les prend !

à savoir que si tu as une activité à coté (du web ou un autre serveur de jeu par exemple) cette utilisation peut baisser sans alterer le jeu in-game
Ok merci pour l'info, j'avoue que c'est surprenant.

Donc si j'ai bien compris, si une autre application réclame des ressources CPU, le serveur les lui cèdera immédiatement ? Parceque j'ai d'autres applis qui tournent sur ce serveur
voilà, en gros nwserver se prend 100% de cpu.
mais sa charge peu baisser sans alterer le jeu in-game si d'autres programmes recquierent un peu de charge.

en gros: j'ai fais tourner nwserver qur une machine web, et le prog' me prennait tout ce qui restait en charge apres les prog' web.
tu peux au passage baisser la priorité du programme
je ne confirme absolument pas ces informations pour avoir un serveur nwn depuis super longtemps sur ma machine linux....

Voila ce que ça donne:

Tasks: 94 total, 2 running, 92 sleeping, 0 stopped, 0 zombie
Cpu(s): 19.1% user, 12.9% system, 0.0% nice, 68.0% idle
Mem: 1032564k total, 1017952k used, 14612k free, 65168k buffers
Swap: 618524k total, 11516k used, 607008k free, 765516k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ Command
27922 nwn 19 0 49532 48m 2660 R 29.7 4.8 9:54.51 nwserver

le serveur prend 30% des ressources en environ 50Mo de RAM... les 30% se décomposent en 20% dans le code pur du serveur, et 10% dans des appels au routines du système.

Ceci est valable pour un serveur lancé en avant plan, ou avec screen.
tu es sous quel noyau de Linux ?
quelle commande tapes-tu pour lancer nwserver en screen ?

pour ma part, ca fait super longtemps que ca marche comme je l'ai decrit
les forums bioware en parlait.... mais bon, le thread date de 2 mois au moins
Pour lancer le serveur : screen -A -m -d -S nwn1 /home/nwn/go

le script go contenant la ligne de commande complete :
./nwserver -module module\
-maxclients 40 \
-minlevel 1 \
-.... etc...

Pour recupérer la console taper :
screen -r nwn1

Une fois dans la console, pour quitter faire Ctrl+A puis D

Pour ce qui est de ma version du noyau :
[nwn@zebulon nwn]$ cat /proc/version
Linux version 2.4.21-0.13mdkenterprise (flepied@bi.mandrakesoft.com) (gcc version 3.2.2 (Mandrake Linux 9.1 3.2.2-3mdk)) #1 SMP Fri Mar 14 14:40:17 EST 2003

C'est du classique...

Voila, j'espère qu'avec screen tout marchera mieux et que ton problème de conso CPU n'apparaitra plus, moi je n'ai jamais eu ce problème.
Ah ben là ça m'interesse si tu arrives à ne pas avoir tes ressources bouffées à 100% !

Voici ma version

Linux version 2.4.18-14 (bhcompile@stripples.devel.redhat.com) (gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7)) #1 Wed Sep 4 13:35:50 EDT 2002

Et je n'ai pas la commande screen de disponible, je lance en background avec "&" Vous pensez que je devrais essayer screeen quitte à télécharger qqch ?


PS : J'ai cherché ce phénomène sur les forums Bioware mais sans succès, mais faut dire que ça doit etre tellement noyé dans la masse

@+
Merci Nexus mais on sait comment marche un screen

je remarque que tu tournes sous la derniere version du noyau Linux, Or Redhat 8 ne contient pas cette derniere version (seulement la version 9 de redhat)
il faudrait peut-etre diriger les recherches par là.
Désolé, mais ton niveau en linux n'est pas inscrit dans ton profil... l'utilisation de screen est pas nécessairement connue de tous...

En ce qui concerne la version du noyau, sur mon ancien serveur j'ai successivement fait tourner une mandrake 8.1 (version du noyau ???) et un noyau de developpement 2.5, j'ai en le meme comportement dans tous les cas : une consommation elevée mais pas à 100%

La consommation CPU est assez etrange, elle ne varie pas beaucoup lorsque le nombre de joueurs augmente, par contre ça varie pas mal d'un module à l'autre.

J'ai fait tourner un module de 300Zones avec 40PJ sur un bi-celeron 466Mhz (utilisation que d'une seule CPU par le thread principal du serveur), conso CPU de l'ordre de 80% ( sur 200% car bi CPU).

Maintenant j'ai un nouveau module en developpement, environ 70zones pour le moment, mais beaucoup de scripts. Le serveur est un P4 1.6 1Go SDRam 133. J'ai une consommation à vide de l'ordre de 30% ce qui est deja conséquent....
bon merci les gars de vos eclaircissements, je crois que je vais tenter d'installer screen dans un premier temps et voir comment il se comporte avant de me plonger dans la recompilation du noyau
C'est quand même un phénomène étrange...
Citation :
Désolé, mais ton niveau en linux n'est pas inscrit dans ton profil... l'utilisation de screen est pas nécessairement connue de tous...
ouais mais d'un autre coté je ne poserais pas ces questions si je ne m'y connaissais pas

je n'aime pas trop mandrake, donc je l'utilise tres peu et je ne connais pas la version du noyau de mandrake 8.1

donc si j'ai compris ton post, le consommation vient surtout du nombre de zone ? (donc j'en deduis de monstres, de scripts, de conversations etc...)
j'ai heberger des tres gros module, mais au point de me bouffer 100% du cpu sur un bi-xeon 2.8 sur une megatrends, j'y crois guere.

mais je suis certain que plusieurs personnes ont ce probleme, il a été debattu sur le forum officiel, j'ai chercher pendant 20 mins, j'ai arreté
Ce à quoi je me réfère ici n'a rien à voir avec Linux, puisque c'est ce que j'ai constaté sur un système Windows 2000, mais c'est une piste:

https://forums.jeuxonline.info/showthread.php?t=235904

La version utilisée dans ces tests est la SoU 1.32 sur un Athlon 2200/512 Mo de RAM, Win2K Server SP3.
Il en ressort que les raisons de consommation du CPU sont liées aux PNJs malgré ce qui est dit, et qu'ils consomment une quantité phénoménale de ressources même s'ils sont sensés être désactivés partiellement lorsqu'il n'y a pas de PJ dans leur zone.

Pas de PNJs, pas de décoration correcte => arrêt de développement pour moi.
Ce que j'ai d'ailleurs fait depuis parce que j'en ai marre de tous les jours devoir refaire des trucs faits et refaits ou de découvrir de nouveaux problèmes introduis dans les versions successives. Je n'ai donc aucune info complémentaire par rapport à ça. Ce ne sont que mes constatations sur mon module mais c'est vérifié. Je reprendrais peut-être mon travail avec l'arrivée de la 1.33. Tout dépend de ce qui sera corrigé ou non. En attendant, bon courage à vous.

EDIT: En effet, le problème a été débattu moultes fois sur le forum officiel, mais d'une part, personne n'a su déterminer d'où venait la saturation, et d'autre part, personne n'a su déterminer de seuil critique. Certains parlent d'un seuil à 40 joueurs connectés, d'autres parlent de zones (ce qui est démenti par les témoignages). Moi, je parle des PNJs, ce qui n'a jamais été évoqué, mais qui est bien réel dans mon cas. Si quelqu'un trouve une cause à ce problème, je suis preneur. Mais s'il s'agit de spawner par script tous les PNJs de décoration, autant oublier. (je parle pour moi là)
Je suis très conscient qu'il y a moults problèmes de CPU sur le serveur NWN mais j'amerais qu'on ne s'égare pas trop du sujet initial :

Il n'a rien à voir avec les PNJ, les scripts, les placeables ou autres : Même lorsque je lance nwserver à vide en background sous linux RH8 il se met à bouffer 100% du CPU alors qu'il est à 15-20% en foreground.
Visiblement ce n'est pas une fatalité puisque certaines configs de linux n'ont pas ce phénomène.

Voilà c'est tout
Bon et bien pour ceux que ça interesse :

J'ai installé screen et ça fonctionne : CPU à 15% lorsque nwserver est dans le screen, en plus c'est plus facile à gérer comme ça, nickel...
Parfait, excellent.

La morale est donc claire : ne pas lancer le nwserver en arrière plan avec un simple nohup, mais utiliser screen sous peine d'avoir un comportement anormal...

J'adore qu'un plan se déroule sans accros
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés