| |||||
FORUM HardWare.fr

Linux et OS Alternatifs

Divers

[RHEL 5.6] swap élevé... sans process qui l'utilise| Dernière réponse | |
|---|---|
| Sujet : [RHEL 5.6] swap élevé... sans process qui l'utilise | |
| redridinghood | je vais regarder ce point egalement. (pour numa, avec oracle ca a l'air sujet sensible)
(qd je dis que l'os swap, je veux dire que je trouve étrange que mes recherches dans les processus (cf script du premier post) n'indique pas qu'il y a des données d'un process en cache). après il y a des plaintes de réactivité de certaines bases de données d’où mes recherches. |
| Aperçu |
|---|
| Vue Rapide de la discussion |
|---|
| redridinghood | je vais regarder ce point egalement. (pour numa, avec oracle ca a l'air sujet sensible)
(qd je dis que l'os swap, je veux dire que je trouve étrange que mes recherches dans les processus (cf script du premier post) n'indique pas qu'il y a des données d'un process en cache). après il y a des plaintes de réactivité de certaines bases de données d’où mes recherches. |
| MysterieuseX |
|
| redridinghood | oki je vais creuser ca.
la conclusion que j'ai pour le moment, c'est que comme aucun process ne swap, c'est l'os qui decide de swapper (ce que je peux diminuer avec le parametre vm.swapiness) et il y a de fortes chance (que je validerai avec le test d'arret bdd si possible) que du cache oracle passe en swap. |
| tilolebo | y aurait pas moyen de stopper/redémarrer ta BDD Oracle pour voir si ça libère de la swap ?
Tu aurais au moins la confirmation que c'est bien ce process qui swappe et tu pourrais concentrer tes recherches sur les paramètres d'Oracle. Profites-en pour observer à quel moment le serveur recommence à swapper (corrélation avec la consommation globale de mémoire + avec les processus Oracle). |
| redridinghood | je l'aurais fait....s'il y en avait.... |
| MysterieuseX | Essaye de choper les docs de l'intégrateur/ton collègue au sujet du serveur en question avant toutes actions. |
| redridinghood | apres ce qui m'embete c'est aussi l'utilisation (ou plutot la non utilisation) du ramdrive /dev/shm.
oracle est censé s'en servir, il est taillé a 17Go (donc 17Go de RAM "en moins", et quand l'os swap a 4 Go, il est utilisé a ...9 % c'est en ce sens la que je me dis qu'il y a du paramétrage qui ne doit pas etre top. (ce n'est pas moi qui ai monté ni configuré le serveur, ni paramétré oracle d'ou mes interrogations) |
| redridinghood | je connais pas le fonctionnement d'oracle concernant la gestion memoire, mais effectivement ce n'est pas choquant de réserver plein de mémoire, a condition de s'en servir.... sur ce serveur, il n'y a "que" de la BDD oracle, donc je suis presque sur a 100% que c'est oracle qui swap, alors qu'a mon avis il a de la mémoire réservée de partout....
voila le /proc/mtrr reg00: base=0xd0000000 (3328MB), size=196864MB: uncachable, count=1 reg01: base=0xe0000000 (3584MB), size=197120MB: uncachable, count=1 |
| MysterieuseX | Dans top/htop faudrait que tu classe tes process en fonction de la mémoire "rés", et de la mémoire "virt" Mettons, pour ton premier screen tu as 4 sessions Oracle par exemple, a 15m de mémoire, 19m réserved et 2gig/session de virtuel (se qui n'est pas violent non plus). En gros faut connaitre le comportement de tes programmes. Oracle va s'allouer de la mémoire pour cacher au max, plus tu lui mettra de mémoire, plus il ira en bouffer, mais c'est "normal". Après je sais pas se qui tourne sur ton serveur, je connais pas les besoins applicatifs vis a vis d'oracle et tes bases donc je pourrai pas te dire comment optimiser. Et la mémoire "cached" en numa et/ou avec une CG c'est pas forcément mauvais comme sur windows hein. Linux est plutôt robuste a ce niveau justement. La question que tu doit te poser surtout c'est niveau "responsivness" et nice/ionice si t'en a encore sous le pied ou pas. Après tu peu carrément configurer le swapiness pour prioriser tes applications critiques, mais je vois rien de dramatique dans tes logs hormis un comportement normal d'Oracle et de Linux. Edit : cat /proc/mtrr pour voir un truc ? |
| redridinghood | j'aimerai justement etre sur qu'elle est a genou...
la deuxieme ligne de free : -/+ buffers/cache: 2551 29636 indique que potentiellement j'ai 29 Go qui peuvent être réclamés pour les programmes. donc selon toi MysterieuseX, on ne peut pas voir ce qui swap car totalement transparent ? moi je pense qu'il y a une mauvaise utilisation de la mémoire (une trop grande reservation non utilisée par ex...) ce qui provoque le swap, mais j'aimerai etre sur. |
| roscocoltran | sur le graph mémoire en tout cas c'est net. |
| MysterieuseX | Sans vouloir être méchante ... Ta machine commence a swapper alors qu'il te reste 2% de ta mémoire centrale disponible, je trouve ce comportement "normal" sachant que même sous linux, tu n'ira JAMAIS a 0% de mémoire physique disponible (regarde ton % memused qui est dans les 98/99%)
Tu t'étonne de swaper ? Moi pas vue tes graphs. Tu swap parce que t'as plus de mémoire dispo. Et pourquoi tu vois pas que tu swap ? Parce que pour un programme c'est transparent, surtout si le programme est bien fait et tourne en userland comme il devrait : il voit que du feu, et toi en utilisateur comme tu as dit faut que t'aille taper dans le swapiness. Mais bon, là, ta machine elle est a genoux, t'aurais plutôt intérêt a voir aussi pour une upgrade ram. |
| redridinghood | toujours dans les choses etranges, quelqu'un sait pourquoi dans /proc/N°PID/satus, je n'ai pas la ligne vmSwap ?
distrib : rhel 5.6 2.6.18-238.5.1.el5 |
| redridinghood | et hop, voila le top
http://www.zimagez.com/miniature/ora1.jpg et mes SAR (pas fait au même moment, mais ca n'a pas beaucoup changé: http://www.zimagez.com/miniature/ora2.jpg http://www.zimagez.com/miniature/ora3.jpg http://www.zimagez.com/miniature/ora4.jpg |
| redridinghood | hello, merci pour vos réponses, je vous mets tout ca dans la journée ! |
| hadrieno | Bonjour,
Oracle 10 ou 11g ? On peut avoir la valeur de la SGA max & target, + pga (show parameters sga - show parameters pga) des différentes instances. Et Mémoire total du serveur. Est-ce que tu peux nous mettre un petit top histoire de voir ? et un petit ps -f Et montre nous ton SAR. (je connais pas....) Si la mémoire allouée pour tes instances Oracle est supérieur à ta ram physique -> swap Si la mémoire allouée est insuffisante pour les traitements de tes instances -> swap |
| roscocoltran | atop a un démon qui monitor quel process part en vrille niveau CPU/mémoire. Ca peut servir. |
| redridinghood | merci pour vos réponses, le swapon/swapoff, le souci c'est que ca ne m'aide pas à identifier la cause.
je penche effectivement pour une libération qui ne se fait pas immédiatement, mais là en gros, sur la journée du 24, ca a oscillé entre : 2,4 Go et 5 Go et des poussières de Go (j'utilise SAR). après, et j'aurai du le dire, ca aiderait peut être, c'est un serveur de BDD oracle, et la je ne sais pas du tout comment il gere.. (par contre je me serai attendu a voir du swap utilisé dans les process oracle, ce qui n'a pas été le cas, en tous cas, au moment ou je l'ai fait). |
| roscocoltran | Le swap a toujours été un peu mystérieux pour moi mais je crois que si tes process n'ont plus besoin de mémoire le kernel ne va pas immédiatement libérer le swap mais le faire lentement. Fais un atop pour voir l'évolution. |
| J'ai déjà vu ça, quand la mémoire est limitée dans un cgroup par exemple, tu utilises le max de ce qui est autorisé, tu swap, tu déclenches l'OOM alors qu'il reste 16Go de libre :o Regarde la sortie de dmesg ? Sinon swapoff / swapon ? :D |
| redridinghood | bonjour a tous,
voila je seche, j'ai une machine qui swap pas mal alors que j'ai de la mémoire, soit, je me suis essayé a trouver les process qui swap sans succés... alors déjà un petit free -m : total used free shared buffers cached Mem: 32188 31999 188 0 192 29255 -/+ buffers/cache: 2551 29636 Swap: 39931 3893 36038 on voit bien que j'ai pas mal de ram libre et que je swap a 3.8 Go. voila ce que j'ai tenté pour trouver mes process qui swap et essayer de trouver une logique :
|


