Recherche swap (désespérement)

Bonjour à tous,
Je tombe ce soir sur un retour que je n’arrive pas à expliquer, il n’y a aucun problème par ailleurs sur la machine.

free ou swapon -s me retourne que une très faible utilisation de la swap : 1024Ko

Je balaie tous les process et n’en trouve aucun qui swape!

Soit « mon* » script de balayage est foireux , soit de la swap est utilisée par ?
*trouvé ici ou sur le web il y a déjà plusieurs année.

Un lecteur a-t-il une explication? Une idée pour compléter la recherche?

Retour de mes cdes.

 free
                           total     utilisé       libre     partagé  tamp/cache  disponible
Mem:                    16265680     4258540      412808     1591428    11594332    10227316
Partition d'échange:    15625212        1024    15624188
swapon -s
Nom de fichier                Type        Taille    Utilisé    Priorité
/dev/nvme0n1p3                             partition    15625212    1024    -2

Process Pid Swap Kb par ordre croissant de la swap

for file in /proc/*/status ; do awk '/Tgid|VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | grep kB  | sort -k 3 -n
...
Web Content     622392 0 kB
WebExtensions   145751 0 kB
whoopsie          1618 0 kB
wpa_supplicant     973 0 kB
xdg-permission-   4247 0 kB
Xorg              3912 0 kB

Autant dire rien.

Il n’y a pas que les processus qui peuvent occuper du swap. Les tmpfs aussi par exemple.

PS : il vaut mieux mettre les retours de console en format texte préformaté pour respecter l’alignement et améliorer la lisibilité.

Je vais regarder de ce côté … ceci dit c’est repassé à 0 donc je dois attendre la prochaine mesure identique …

Quelle serait la cde pour connaître la quantité de swap utilisée par tmpfs

Je ne sais pas, et je n’ai pas trouvé comment faire.

Peut-être en analysant le contenu de /proc/*/status

for file in /proc/*/status ; do awk '/Tgid|VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | grep kB  | sort -k 3 -n

Sans garantie, ça fait une plombe que je n’ai pas eu à analyser une trop grosse activité de swap sans SQL/elasticsearch ou autre joyeuseté à bord :stuck_out_tongue:

Sinon une fois que tu as des doutes sur un truc regarde avec smem pour analyser plus finement.

Bah y’a que des slices de jambon dans le dossier :rofl:

Sinon en lançant plein de processus qui mangent la ram, elle finira par saturer et la suite des processus basculera dans la swap?
Mon idée est que tant qu’il y a de la ram la swap n’est pas utilisée. (Je sais pas pourquoi mais je sens que ce paragraphe est une plus grosse connerie que le 1er :smiley:)

J’avoue celle là est pas mal :smiley:

Nope il y a la possibilité de gérer via des paramètres sysctl la façon dont-on reverse dans la swap.
Et justement dans le cas du SQL ou d’application très gourmande la swap peux très rapidement se remplir alors qu’il y a pas mal de mémoire de libre.
Un cas pratique … lors de cloisonnement d’application dans des cgroup, il y aura basculement dans la swap dès que le quota sera atteint alors que la mémoire disponible ne sera pas consommer intégralement … surprenant non :wink:

Ben oui, mais il semble aussi que tu as tout plein de RAM disponible, non ?
Même si la swap est toujours utile, ce n’est pas très troublant, dirait-on

troublant?

La question est « qu’est-ce qui utilise cette petite consommation de swap? » et donc idéalement « peut-on via une cde/un script connaître tous les consommateurs de swap? »

Ceci dit merci à tous pour vos infos / commentaires, pour l’instant ma swap est tj à 0, la question reste ouverte …

Ah ? C’était pas clair.

smem alors ? https://www.selenic.com/smem/