Nous avons intégré un système Linux sans échange.
Nous devons actuellement sonner l'alarme lorsque le pourcentage d'utilisation de la mémoire augmente au cours d'une période de trois ans. Et redémarrez lorsque le pourcentage d'utilisation de la mémoire augmente au-dessus d'un seuil (plus élevé).
Pourquoi nous voulons le faire: si certains programmes fuient, nous pouvons faire un redémarrage de sécurité, avant que le noyau ne commence à tuer nos processus (ce qui peut entraîner une corruption ou une indisponibilité des données).
Mais nous avons un problème:
Comment compter l'utilisation de la mémoire -% qui peut être utilisée pour notre objectif?
Nous avons essayé de compter l'utilisation de la mémoire en utilisant les valeurs de / proc / meminfo:
/ # cat /proc/meminfo
MemTotal: 126744 kB
MemFree: 58256 kB
Buffers: 16740 kB
Cached: 31308 kB
SwapCached: 0 kB
Active: 37580 kB
Inactive: 24000 kB
Sans succès:
(MemTotal - MemFree)
n'est pas utilisable, car il contient par exemple des caches.
(MemTotal - MemFree - Buffers - Cached)
n'a pas ignoré l'effet de Inactive
. Il donne donc également des valeurs d'utilisation de la mémoire trop importantes.
(MemTotal - MemFree - Buffers - Cached - Inactive)
est inutilisable, car le résultat peut être négatif.