Bonjour !
Olivier Allard-Jacquin a écrit :
> Attention, le programme [htop] est en python, et consomme du CPU.
Tu dois confondre avec un autre :
$ file $(which htop)
/usr/bin/htop: ELF 64-bit LSB shared object, x86-64 [...]
D'après le dépôt GitHub ça a l'air d'être du pur C.
Frédéric a écrit :
> Tout ce que je veux, c'est que l'appli qui demande de la mémoire alors
> qu'il n'y en a plus [...] soit dropée illico.
Apparemment tu es embêté par la politique « overcommit memory » du noyau.
En gros, quand un processus demande de la mémoire, le noyau dit
souvent « OK », même s'il n'y en a plus.[1] Il ne répond « non » qu'aux
demandes les plus délirantes. Il part du principe qu'une grosse partie
de la mémoire demandée ne sera jamais vraiment utilisée. Il paraît qu'il
y a pas mal de programmes qui ont cette tendance à juste demander au cas
où...
Tu peux changer la politique par défaut avec :
sudo sysctl vm.overcommit_memory=2
où la valeur « 2 » signifie « Don't overcommit. ».[2] Regarde aussi le
paramètre vm.overcommit_ratio. Tu peux rendre les réglages définitifs en
les sauvant dans /etc/sysctl.conf.[3]
À+,
Edgar.
[1]
https://www.etalabs.net/overcommit.html
[2]
https://www.kernel.org/doc/Documentation/vm/overcommit-accounting
[3] sysctl.conf(5)