El sistema de memoria virtual de Linux no es tan simple. No puede simplemente sumar todos los campos RSS y obtener el valor informado used por free . Hay muchas razones para esto, pero mencionaré algunas de las más importantes.
-
Cuando un proceso se bifurca, tanto el padre como el hijo se mostrarán con el mismo RSS. Sin embargo, Linux emplea copia en escritura para que ambos procesos realmente usen la misma memoria. Solo cuando uno de los procesos modifica la memoria, esta se duplicará.
Esto hará que elfreeel número debe ser más pequeño que eltopSuma RSS. -
El valor RSS no incluye la memoria compartida. Dado que la memoria compartida no es propiedad de ningún proceso,
topno lo incluye en RSS.
Esto hará que elfreeel número debe ser mayor que eltopSuma RSS.