My Oracle Support Banner

Excessive memory being used by ufs_inode_cache with ufs logging enabled (Doc ID 1389241.1)

Last updated on JANUARY 16, 2024

Applies to:

Solaris Operating System - Version 9 to 11.2 [Release 9.0 to 11.0]
Information in this document applies to any platform.


Note that due to CR# 4681553 ::kmastat for 64bit kernel assumes memory in use < 4G
Do not just trust the amount of memory reported as used by ::kmastat at least for Solaris 10

For example:

cache               buf     buf         buf         memory        alloc  alloc
name               size    in use     total        in use       succeed fail
------------------------- ------      ------ ------ --------- --------- -----

ufs_inode_cache 368 9873222 11220020 300752896 27730598 0

Memory in use is reported as 300752896 or 287 Megs, but note the buffer size and the buffers in use: 368 * 9873222 = 3633345696 or 3465 Megs or 3.38 Gigs of memory. If you look at buffers total, that number increases to 368 * 11220020 = 4128967360 or 3.85 Gigs.

Note, that while the Buffers in use is the measure of the memory buffers actually being used,
if there was a higher demand in the past additional buffers may have been allocated so you should
also consider the buffer total. This can especially be important if the customer is expecting the kernel memory to drop once the issue has been resolved because once those buffers have been allocated (as reflected in the buffer total), they will remain a part of the kernel memory unless and until there is a memory demand somewhere else such that the kernel reclaims the unused memory.


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

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