Quand je lance mon test WebSocket, je trouve les résultats de l'utilisation de la mémoire intéressantes suivantes:Erlang: différence de chiffres utilisation de la mémoire
serveur indiqué, aucun lien
[{total,573263528},
{processes,17375688},
{processes_used,17360240},
{system,555887840},
{atom,472297},
{atom_used,451576},
{binary,28944},
{code,3774097},
{ets,271016}]
44 processes,
System:705M,
Erlang Residence:519M
100K Connexions
[{total,762564512},
{processes,130105104},
{processes_used,130089656},
{system,632459408},
{atom,476337},
{atom_used,456484},
{binary,50160},
{code,3925064},
{ets,7589160}]
100044 processes,
System: 1814M,
Erlang Residence: 950M
200K Connexions
(redémarrer le serveur et créer à partir de 0 connexion, et non c ontinuer de cas 2)
[{total,952040232},
{processes,243161192},
{processes_used,243139984},
{system,708879040},
{atom,476337},
{atom_used,456484},
{binary,70856},
{code,3925064},
{ets,14904760}]
200044 processes,
System:3383M,
Erlang: 1837M
Les chiffres de « Système » et « Erlang: » sont fournies htop, d'autres sont de sortie appel mémoire() de la coquille de erlang. S'il vous plaît regardez le total et erlang mémoire de résidence. Quand il n'y a pas de connexion, ces deux sont à peu près les mêmes, avec des connexions 100K, la mémoire de résidence est un peu plus grande que le total, avec 200K connexions, la mémoire de résidence est presque le double du total.
Quelqu'un peut-il expliquer?
Mémoire non suivie par la machine virtuelle, mais peut-être à la place des poignées de système pour les connexions? –
nous avons besoin de plus d'informations. À la fois depuis erlang VM et le système. Exécutez pmap du côté de l'OS et récapitulez les processus (par exemple, les détenteurs de la file d'attente supérieure) du côté erlang. – user425720