RSS is smaller than VSZ, but the behavior appeared to be the same.
The point is that accumulated resources do not seem to get released.

I have made changes (upgraded psycopg2), so I will report on this with
further testing.




On Mar 4, 11:15 am, ron_m <[email protected]> wrote:
> RSS (Resident Set Size) is a closer approximation of actual physical memory
> consumed by a process. VSZ includes shared libraries and anything else
> required to be mapped in to make the process complete but shared libraries
> are not in physical memory more than once for all processes except the
> writeable data area they may contain.
>
> Presuming Linux or UNIX like system and CPython memory allocation ultimately
> comes down to the library function malloc which is layered over the system
> call sbreak. The malloc library call manages allocation of memory to
> whatever is requesting it such as the CPython interpreter but works from a
> pool for performance efficiency. If it runs out of room it calls the system
> using sbreak to get another chunk. It is possible to reduce the size by
> calling sbreak with a smaller size but malloc must be sure the area given
> back is completely free from use by objects. This was typically never done
> in the past. If malloc frees a lot of space then it will just reuse it on
> the next allocation request. I admit I have not dug into the CPython use of
> malloc reading code to see what it does. What I am saying is the numbers
> reported by system utilities can be misleading specifically if sbreak size
> reduction is not exercised.

Reply via email to