¿Una forma de determinar el uso de memoria "real" de un proceso, es decir, RSS sucio privado?

Herramientas como 'ps' y 'top' informan varios tipos de usos de memoria, como el tamaño de la máquina virtual y el tamaño del conjunto residente. Sin embargo, ninguno de ellos es el uso de memoria "real":

El código del programa se comparte entre varias instancias del mismo programa.El código del programa de la biblioteca compartida se comparte entre todos los procesos que usan esa biblioteca.Algunas aplicaciones desvían los procesos y comparten memoria con ellos (por ejemplo, a través de segmentos de memoria compartida).El sistema de memoria virtual hace que el informe de tamaño de máquina virtual sea bastante inútil.RSS es 0 cuando se intercambia un proceso, por lo que no es muy útil.Etcétera etcétera.

Descubrí que el RSS sucio privado, según lo informado por Linux, es lo más cercano al uso "real" de la memoria. Esto se puede obtener sumando todosPrivate_Dirty valores en/proc/somepid/smaps.

Sin embargo, ¿otros sistemas operativos proporcionan una funcionalidad similar? si no, cuales son las alternativas? En particular, estoy interesado en FreeBSD y OS X.

Respuestas a la pregunta(9)

Su respuesta a la pregunta