Gestion de la SWAP

Lister le taux d’occupation de la RAM

via free

1
2
3
4
[user@host ~]# free -h
total utilisé libre partagé tamp/cache disponible
Mem: 13Gi 3,4Gi 6,3Gi 325Mi 4,0Gi 9,7Gi
Partition d échange: 18Gi 0B 18Gi

via meminfo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
[user@host ~]#  cat /proc/meminfo 
MemTotal: 14322284 kB
MemFree: 6498636 kB
MemAvailable: 10076892 kB
Buffers: 328440 kB
Cached: 3594824 kB
SwapCached: 0 kB
Active: 4675244 kB
Inactive: 2397004 kB
Active(anon): 3130068 kB
Inactive(anon): 246744 kB
Active(file): 1545176 kB
Inactive(file): 2150260 kB
Unevictable: 176 kB
Mlocked: 176 kB
SwapTotal: 19660796 kB
SwapFree: 19660796 kB
Dirty: 492 kB
Writeback: 0 kB
AnonPages: 3149196 kB
Mapped: 1457988 kB
Shmem: 323360 kB
KReclaimable: 218900 kB
Slab: 410540 kB
SReclaimable: 218900 kB
SUnreclaim: 191640 kB
KernelStack: 23344 kB
PageTables: 56236 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 26821936 kB
Committed_AS: 14023472 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 45208 kB
VmallocChunk: 0 kB
Percpu: 36224 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
FileHugePages: 0 kB
FilePmdMapped: 0 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 0 kB
DirectMap4k: 550428 kB
DirectMap2M: 8816640 kB
DirectMap1G: 6291456 kB

via vmstat

1
2
3
4
[user@host ~]# vmstat 
procs ----------mémoire---------- -échange- -----io---- -système- ------cpu-----
r b swpd libre tampon cache si so bi bo in cs us sy id wa st
1 0 0 4958276 340516 4574028 0 0 284 95 708 1754 8 2 90 0 0

Voir la RAM par process

1
[user@host ~]# ps -o pid,user,%mem,command ax | sort -b -k3

Voir le détail de la consommation RAM d’un processus

1
[user@host ~]# pmap 3445

Attention, ici on a le détail de la VSZ

swappiness

La swappiness est la quantité d’espace RAM disponible avant que Linux ne se décide à utiliser la SWAP.

Vérifier

1
2
3
4
[user@host ~]# cat /proc/sys/vm/swappiness 
10
[user@host ~]# sysctl vm.swappiness
vm.swappiness = 10

Modifier

  • de façons dynamique
1
[user@host ~]# sysctl vm.swappiness=10
  • de façons persisstante

Il faut modifier le fichier /etc/sysctl.conf pour y rajouter la ligne suivante:

1
vm.swappiness=10

La modification sera prise en compte au prochain reboot.