Page 1 sur 1

[swap] tri par conso

Publié : dim. 29 août 2021, 13:10
par Thomasb
Est-ce que vous auriez une commande pour trier les programmes qui consomment de la swap ? En ce moment, j'ai :

Code : Tout sélectionner

function functriswap(){
    for file in /proc/*/status
    do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file 2> /dev/null
    done
}
alias triswap="functriswap | sort -k 2 -n -r | less"
mais la somme n'arrive pas à la swap totale occupée

Re: [swap] tri par conso

Publié : sam. 04 sept. 2021, 19:56
par sukolyn
oh !? une fonction de tri qui ne trie pas. :shock:

tous les Name n'ont pas de VmSwap.
je ferais un traitement différent selon que la ligne est l'un ou l'autre :

Code : Tout sélectionner

$ for file in /proc/*/status; do test -r "$file" && awk '/^Name:/{n=$2}/^VmSwap:/{if(n)print n" "$2" "$3; n=""}' "$file"; done
à part ça, je ne connais pas la gestion du swap.

Code : Tout sélectionner

$ free
               total       utilisé      libre     partagé tamp/cache   disponible
Mem:           7,7Gi       1,7Gi       4,4Gi       159Mi       1,6Gi       5,6Gi
Partition d'échange:       18Gi          0B        18Gi
alors que tous les VmStat sont à 0 kB.

PS: `function' et `()' sont redondant : c'est l'un ou l'autre; ça ne provoque pas d'erreur, c'est simplement inutile de mettre les deux.

Re: [swap] tri par conso

Publié : dim. 05 sept. 2021, 11:07
par Thomasb
Super, merci pour le coup de main. La (le?) swap n'est pas toujours très documenté... À la BU, sur des bouquins d'admin de 800 pages, on en trouve 2 sur ce type de partition.