![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Ver la memoria usada por un proceso en Linux (sólo heap+stack, sin text (exe) ni shared libraries)Lo explican muy bien en Virtual threads blog: Understanding memory usage on Linux. Ahí mira el resumen de hacer un "pmap -d", mirando en la última línea lo de "writeable/private: xxxK"Aparte, en este comentario aclaran que con el ps se puede ver, simplemente hay que leer la columna SZ (heap+stack size) de hacer: ps -lyu<user> Para algo más elaborado, está usar una script que consulta los smaps de un proceso; la script en cuestión está escrita en python ps_mem.py. Lo que hace dicha script es recorrer /proc/$pid/smaps para determinar la memoria usada por un proceso. Dicha funcionalidad del kernel es reciente (2.6.14). Para más información sobre smaps, ver Memory Usage with smaps y una script alternativa en perl para lo mismo que la anterior: smem.pl Aparte en los smaps de linux 2.6.23 han introducido PSS kernel metric, que es una aproximación bastante razonable al uso de memoria para una carga dada. PSS=proportional set size: "The <<proportional set size>> (PSS) of a process is the count of pages it has in memory, where each page is divided by the number of processes sharing it. So if a process has 1000 pages all to itself, and 1000 shared with one other process, its PSS will be 1500". |