Skip to content

regression? v5.1 doesn't seem to release memory back to the OS? #1398

@oranagra

Description

@oranagra

Hi,
I recently upgraded from v4.0.3 to v5.1 (using Redis).
From past experience I remember that when releasing memory, jemalloc was keeping some 12% (1/8) of the current usage for future use, instead of giving everything back to the OS.
But now, i notice that with v5.1 it doesn't seem to return anything back to the OS.
I assume i'm missing something major, but i can't seem to find it in the release notes, or recent commits / issues.

for example, empty process:

Allocated: 2112024, active: 2469888, metadata: 2909288 (n_thp 0), resident: 5656576, mapped: 11190272, retained: 4014080

Then after doing many allocations (of about 500MB), and then releasing most of them:

Allocated: 1962816, active: 4120576, metadata: 20155656 (n_thp 0), resident: 599027712, mapped: 602001408, retained: 32387072

In v4.0.3 the resident used to shrink back to about 14MB.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions