My Oracle Support Banner

The reason application memory isn't returned to Solaris when an application calls free (Doc ID 1483124.1)

Last updated on JULY 06, 2022

Applies to:

Solaris Operating System - Version 9 GA and later
Solaris x64/x86 Operating System - Version 9 GA and later
Oracle Solaris on x86-64 (64-bit)
Oracle Solaris on SPARC (64-bit)
Oracle Solaris on SPARC (32-bit)
Oracle Solaris on x86 (32-bit)


The purpose of this document is to provide an overview of virtual memory from the prospective of a process. This document aims to complement the many documents which cover how things work without providing any back ground, or understanding as to why.


 This document will strive to provide additional references and cover some material in more depth where it can. There are many concepts covered herein that have inter-dependencies on different areas which build on each other.  This article may jump from topic to topic and frequently return to previous topics to expand upon previous knowledge.


To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document
 Address Space
 Memory Divided into Pages
 Virtual Memory and Swap
 How or where does an application get it's memory
 Pros and Cons of individual mappings versus a single data segment
 Various tools
 Why doesn't malloc return memory to the operating system
 Further understandings
 Other Memory Alloctors
 What if I want write my own, or really want to see the memory returned to the OS when my application frees the memory?

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.