J'ai un démon écrit en C fonctionnant sous une machine RHEL 4.Linux RSS et mémoire partagée
Le démon accède à un segment de mémoire partagée (rien de plus qu'un grand tableau de 65536 éléments). Pas de malloc/gratuit sont faits.
Je remarquai que ps aux montre que le démon a la taille de la mémoire partagée + quelques kb comme VSZ et quelques-unes ko au flux RSS. Ensuite, plus le démon accède à la mémoire partagée, plus le RSS augmente jusqu'à atteindre la même taille de VSZ.
Pourquoi Linux calcule-t-il le RSS de cette manière? Je veux dire ... la mémoire partagée ne doit pas être ignorée en tant que mémoire consommée (RSS) par un seul processus, parce qu'elle peut être accédée par beaucoup d'autres runnables?
Et pourquoi cela augmente le RSS simplement en accédant à la mémoire partagée?