My Oracle Support Banner

Applications and Processes Crashing and Exiting Due to Lack of Available Virtual Memory also called Swap (Doc ID 2947406.1)

Last updated on APRIL 08, 2024

Applies to:

Solaris x64/x86 Operating System - Version 10 and later
Solaris Operating System - Version 10 and later
Information in this document applies to any platform.

Symptoms

User processes use Swap also known as Virtual memory and when there isn't enough available swap to meet the application's requirements, applications can fail in unpredictable ways.  A process creates and uses virtual memory in different ways for different purposes.  For some uses swap is reserved and in those cases there isn't a risk of the swap being unavailable when it's needed, but swap isn't always reserved.    A process can grow it's heap in which case there is a risk that the additional swap needed might not be available which can cause failures.  Most problematic for a swap shortage is that a process does not reserve swap for it's thread stacks.  Thread stacks tend to only use a small fraction of the space available to them, but this can lead to extremely unpredictable failures when a system runs out of swap.

This document will help identify cases where a system’s lack of swap is causing processes to fail.

One of the most obvious signs of lack of swap disrupting processes is the following in messages:

… … genunix: [ID 328136 kern.warning] WARNING: No swap space to grow stack for pid {PID} ({Executable) in zone {Zone Number} ({Zone Name})

Also see: Understanding "no swap space to grow stack" Messages (Doc ID 1008068.1)

Messages may also include messages like:
… … genunix: [ID 163280 kern.notice] {Executable}: Cannot map /lib/sparcv9/ld.so.1
… … tmpfs: [ID 518458 kern.warning] WARNING: /system/volatile: File system full, swap space limit exceeded
… … svc.startd[14]: [ID 462725 daemon.warning] {Service}: Couldn't fork to execute method {Path/File}: Cannot allocate memory

If you have ‘global core dumps’ and ‘global core dump logging’ enabled (see man coreadm) , then you will also likely see batches of:
… … genunix: [ID 603404 kern.notice] NOTICE: core_log: {Executable}[{PID}] core dumped: {/path/file}

 

Also see: How to handle COREDIAG-8000-1V FMA events (Doc ID 2847388.1)

Messages may also show:

 

 

 

Changes

There may not be any configuration changes in which case it may be an increase in system load or something else which has increased the swap usage

Cause

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

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


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