Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
508 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Divers

  [RHEL 5.6] swap élevé... sans process qui l'utilise

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RHEL 5.6] swap élevé... sans process qui l'utilise

n°1342191
redridingh​ood
Posté le 26-07-2013 à 10:19:00  profilanswer
 

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 :  
 

Citation :


 #!/bin/bash
SUM=0
OVERALL=0
for DIR in `find /proc/ -maxdepth 1 -type d -regex "^/proc/[0-9]+"`
do
PID=`echo $DIR | cut -d / -f 3`
PROGNAME=`ps -p $PID -o comm --no-headers`
for SWAP in `grep Swap $DIR/smaps 2>/dev/null | awk '{ print $2 }'`
do
let SUM=$SUM+$SWAP
done
if (( $SUM > 0 )); then
echo "PID=$PID swapped $SUM KB ($PROGNAME)"
fi
let OVERALL=$OVERALL+$SUM
SUM=0
done
echo "Overall swap used: $OVERALL KB"
 


 
et ca me renvoit rien, aucune conso de swap...
 
a noter que à l'aveugle je pourrais changer le swapiness, mais n'ayant pas ce comportement sur d'autres serveurs, j'aimerai comprendre... j'ai du louper un truc, mais la je ne vois pas.
merci pour votre aide !!!!!


Message édité par redridinghood le 26-07-2013 à 10:45:16
mood
Publicité
Posté le 26-07-2013 à 10:19:00  profilanswer
 

n°1342204
Profil sup​primé
Posté le 26-07-2013 à 13:56:18  answer
 

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

n°1342207
roscocoltr​an
L'enfer c'est les utilisateurs
Posté le 26-07-2013 à 14:12:18  profilanswer
 

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.


---------------
"Your god is too small", Giordano Bruno, 1548 - 1600
n°1342221
redridingh​ood
Posté le 26-07-2013 à 15:59:35  profilanswer
 

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).
 

n°1342222
roscocoltr​an
L'enfer c'est les utilisateurs
Posté le 26-07-2013 à 16:12:53  profilanswer
 

atop a un démon qui monitor quel process part en vrille niveau CPU/mémoire. Ca peut servir.


---------------
"Your god is too small", Giordano Bruno, 1548 - 1600
n°1342249
hadrieno
Posté le 26-07-2013 à 21:55:14  profilanswer
 

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


Message édité par hadrieno le 26-07-2013 à 21:57:01
n°1342367
redridingh​ood
Posté le 30-07-2013 à 08:38:57  profilanswer
 

hello, merci pour vos réponses, je vous mets tout ca dans la journée !

n°1342368
redridingh​ood
Posté le 30-07-2013 à 08:51:44  profilanswer
 

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


Message édité par redridinghood le 30-07-2013 à 08:52:58
n°1342372
redridingh​ood
Posté le 30-07-2013 à 10:52:54  profilanswer
 

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

n°1342374
Mysterieus​eX
Chieuse
Posté le 30-07-2013 à 11:47:03  profilanswer
 

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.

mood
Publicité
Posté le 30-07-2013 à 11:47:03  profilanswer
 

n°1342378
roscocoltr​an
L'enfer c'est les utilisateurs
Posté le 30-07-2013 à 12:56:38  profilanswer
 

sur le graph mémoire en tout cas c'est net.


---------------
"Your god is too small", Giordano Bruno, 1548 - 1600
n°1342379
redridingh​ood
Posté le 30-07-2013 à 13:19:55  profilanswer
 

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.
 
 

n°1342380
Mysterieus​eX
Chieuse
Posté le 30-07-2013 à 13:52:38  profilanswer
 

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 ?


Message édité par MysterieuseX le 30-07-2013 à 13:53:16
n°1342386
redridingh​ood
Posté le 30-07-2013 à 16:47:48  profilanswer
 

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

n°1342387
redridingh​ood
Posté le 30-07-2013 à 16:50:04  profilanswer
 

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)

n°1342391
Mysterieus​eX
Chieuse
Posté le 30-07-2013 à 17:39:33  profilanswer
 

Essaye de choper les docs de l'intégrateur/ton collègue au sujet du serveur en question avant toutes actions.

n°1342393
redridingh​ood
Posté le 30-07-2013 à 17:47:50  profilanswer
 

je l'aurais fait....s'il y en avait....

n°1342425
tilolebo
point trop n'en faut
Posté le 31-07-2013 à 10:53:43  profilanswer
 

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).
 


---------------
Ravèt pa janmen ni rézon douvan poul
n°1342604
redridingh​ood
Posté le 02-08-2013 à 14:07:05  profilanswer
 

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.

n°1342650
Mysterieus​eX
Chieuse
Posté le 03-08-2013 à 14:03:31  profilanswer
 

redridinghood a écrit :

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.


Premier point : normal oui, c'est souvent l'OS qui décide de swapper, rarement les appli qui swappent d'elle même. D'ailleurs, je vois pas comment les appli pourraient décider de swapper d'elle même puisque normalement, hormis sur une distro du style "damn vulnerable linux" l'isolation du kernel est fait de telle sorte qu'il est impossible aux applis de sortir de leurs périmètre mémoire et d'avoir connaissance des autres périmètres de manière implicite.
Second point : normal aussi, mais en quoi est-ce génant d'avoir des informations "cached" ? Je te dit : est-ce que ta machine est encore réactive ? Est-ce que tu perd en perf réellement ? Si c'est non a ces deux questions, je vois pas pourquoi tu cherche a régler ce problème de swap, sachant que ta mémoire vive est utilisée a 99% et ton swap a 10% même pas. Je trouve que ta machine a un comportement "normal" pour un serveur de BDD.
 
A rajouter, vue tes paramètres MTRR, que le NUMA n'est pas activé et que donc tu a les deux banques mémoires de tes 2 CPU sur la machine qui sont séparés et non uniformes. Essaye déjà de tuner ton kernel avant d'attaquer a tuner ta config Oracle.

n°1342702
redridingh​ood
Posté le 05-08-2013 à 13:24:47  profilanswer
 

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.


Message édité par redridinghood le 05-08-2013 à 13:37:50
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Divers

  [RHEL 5.6] swap élevé... sans process qui l'utilise

 

Sujets relatifs
[RESOLU] Linux n'utilise poas sa partition de swapinstallation apache sur rhel 6
Combien de Go pour la Swap de mon PC (1 Go RAM) ?RHEL LVM déplacer un VG not exported?
RHEL echo -eRHEL 6.2: Comment installer TOUS les packages ?
RHEL 6 - "Mur" d'appli quand souris dans coin haut-droiteRHEL 5.5 sysctl inopérant
Linux RHEL automount & fstab...[RHEL/CentOS] Parce qu'il y'a aussi des barbus qui travaillent !
Plus de sujets relatifs à : [RHEL 5.6] swap élevé... sans process qui l'utilise


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR