История изменений
Исправление Viper, (текущая версия) :
Поддержу вопрос. Как процесс узнаёт что память нужна, что бы её окончательно отдать и не держать за собой? А учитывая, что этой памяти нет среди available для ОС, без согласия процесса, который за собой держит память, не может ОС просто её взять и использовать. По-моему что-то подобное работает и в ZFS для ARC. То же говорят, свободную память держит за собой, только вот не всегда охотно её отдаёт ОС, по этому приходится ограничивать размер ARC в ZFS.
P.S. Процесс go уже более суток не отдаёт эту память, хотя судя по метрикам, она ему больше не нужна, так как вся она в go_memstats_heap_released_bytes без значительных изменений этой метрики.
Исправление Viper, :
Поддержу вопрос. Как процесс узнаёт что память нужна, что бы её окончательно отдать и не держать за собой? А учитывая, что этой памяти нет среди available для ОС, без согласия процесса, который за собой держит память, не может ОС просто её взять и использовать. По-моему что-то подобное работает и в ZFS для ARC. То же говорят, свободную память держит за собой, только вот не всегда охотно её отдаёт ОС, по этому приходится ограничивать размер ARC в ZFS. P.S. Процесс go уже более суток не отдаёт эту память, хотя судя по метрикам, она ему больше не нужна, так как вся она в release без проседаний.
Исходная версия Viper, :
Поддержу вопрос. Как процесс узнаёт что память нужна, что бы её окончательно отдать и не держать за собой? А учитывая, что этой памяти нет среди available для ОС, без согласия процесса, который за собой держит память, не может ОС просто её взять и использовать. По-моему что-то подобное работает и в ZFS для ARC. То же говорят, свободную память держит за собой, только вот не всегда охотно её отдаёт ОС, по этому приходится ограничивать размер ARC в ZFS.