System Running Solaris 10 with 150400-44/150401-44 through -47 May Encounter IO and/or System Performance Issues

(Doc ID 2228462.1)

Last updated on MARCH 20, 2017

Applies to:

Solaris Operating System - Version 10 1/13 U11 to 10 1/13 U11 [Release 10.0]
Information in this document applies to any platform.

Symptoms

Should the issue described in this document be encountered, the system may perform slower than expected or appear hung.  Anything that requires disk IO will either appear hung or take a very long time (seconds or minutes) to return which may make the commands appear hung.

This issue can occur in the following releases:

SPARC Platform:
    Solaris 10 with patch 150400-44, 150400-45, 150400-46, 150400-47

x86 Platform:
    Solaris 10 with patch 150401-44, 150401-45, 150401-46, 150401-47

Note[1]: Solaris 11 and the ZFSSA platform are not impacted by this issue.

Note[2]: Solaris 8 and Solaris 9 are not impacted by this issue.

Note[3]: Only systems using ZFS are impacted by this issue.

  To determine if a system is using ZFS, execute the following command:-

    $ zpool status

  If any pools are returned by the command, then ZFS filesystem is in use.

Note[4]: Systems with less than 40 CPUs listed in psrinfo(1M) or "prtdiag -v" are unaffected by the issue.

Note[5]: This issue is discussed in ALERT Doc "Solaris 10 With Patches 150400-44/150401-44 through 150400-47/150401-47 on Systems with 40 or more CPUs and Using ZFS May Experience I/O and/or System Performance Issues (Doc ID 2229941.1)"

 

If the system is performing slowly, please collect GUDS which can be downloaded from 'GUDS - A Script for Gathering Solaris Performance Data (Doc ID 1285485.1)'.

If the system appears hung, please generate a system crash dump.  Refer to the appropriate documentation for generating a system crash dump for your system.

GUDS Analysis

GUDS will typically show very little CPU and disk IO activity.  Reviewing the 'stacks.out.*' or 'threadlist.out.*' files will show many threads waiting in arc_get_data_block() -> delay() for the ARC to finish reclaiming or evicting data, eg:

 

Cause

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 hundreds of Community platforms