Contexte et origine du projet
Suite à une intervention du PDG d’OpenAI, Sam Altman, sur le podcast Cheeky Pint, où il a évoqué la « saturation mondiale de la DRAM », le développeur Iain Kay a publié un script satirique nommé Ram‑Altman. L’objectif affiché est d’envoyer un courriel humoristique à Altman une fois par jour dès que plus de 10 % de la RAM d’une machine Linux apparaît comme disponible. Le projet, décrit comme une « parodie », répond directement aux remarques virales d’Altman et à son changement de pseudo en « RAM Altman » sur X.
Mécanique du script Ram‑Altman
Le cœur du script est un simple bash qui lit /proc/meminfo, extrait les champs MemTotal et MemAvailable, puis calcule la mémoire réellement utilisée : used = MemTotal - MemAvailable. Cette formule inclut le cache de pages et les slabs récupérables, tout en excluant les systèmes de fichiers temporaires (tmpfs) et la mémoire partagée. Le script s’exécute toutes les cinq minutes, compare le pourcentage de RAM libre à 10 % et, si le seuil est franchi, déclenche l’envoi d’un courriel parmi plusieurs modèles humoristiques. Un mécanisme de verrouillage empêche l’envoi de plus d’un message par jour.
#!/usr/bin/env bash
mem_total=$(grep MemTotal /proc/meminfo | awk '{print $2}')
mem_avail=$(grep MemAvailable /proc/meminfo | awk '{print $2}')
used=$((mem_total - mem_avail))
percent=$((used * 100 / mem_total))
if (( percent < 90 )); then
# envoi du mail humoristique (une fois par jour)
fi
Gestion de la mémoire sous Linux et pertinence du calcul
Linux distingue « free » (mémoire réellement inutilisée) et « available » (mémoire que le noyau estime pouvoir libérer sans swap). La valeur MemAvailable tient compte du cache de pages, des slabs récupérables et de la mémoire pouvant être évincée, offrant ainsi une mesure plus réaliste de la capacité exploitable. En se basant sur MemTotal - MemAvailable, le script évite l’erreur d’interpréter un faible chiffre « free » comme une pénurie, ce qui serait le cas si l’on se limitait à free uniquement. Cette approche reflète la dynamique du système où le noyau remplit les caches pour accélérer les accès I/O, mais peut les libérer instantanément lorsqu’une application en a besoin.
Limites et implications pratiques
Ram‑Altman ne fonctionne que sur les systèmes exposant /proc/meminfo, donc exclusivement sous Linux. Le calcul repose sur des valeurs exprimées en kilooctets, ce qui peut varier selon l’architecture (32 bits vs 64 bits) mais ne change pas la logique du seuil. Le script ne constitue pas un outil de surveillance professionnel ; il ne collecte ni historise les métriques, ni ne génère d’alertes détaillées. De plus, le déclencheur de 10 % de RAM disponible est arbitraire : il ne reflète aucune contrainte de charge réelle et peut générer des faux positifs sur des machines avec de grandes quantités de RAM inactives. Enfin, la limitation à un courriel quotidien évite le spam, mais empêche également de détecter des variations rapides de disponibilité de la mémoire.