Over time after many online memory changes, the memory may become
fragmented like this example. The small blocks prevent the system
from allocating large pages which causes degraded performance.
The fragments typically arise when you reduce memory
while the domain is running. It is recommended to reduce
memory while the guest domain is down and use start-reconf
for the control domain.
# ldm list-devices -a memory
MEMORY
PA SIZE BOUND
0x0 60M _sys_
0x3c00000 32M _sys_
0x5c00000 94M _sys_
0xba00000 1030M _sys_
0x4c000000 64M _sys_
0x50000000 2560M primary
0xf0000000 256M marcel
0x100000000 2560M primary
0x1a0000000 256M marcel
0x1b0000000 5888M primary
0x320000000 256M marcel
0x330000000 768M primary
0x360000000 256M marcel
0x370000000 3584M primary
0x450000000 11G marcel
0x710000000 15G g0075
0xad0000000 6G g0095
0xc50000000 8G g0081
0xe50000000 1792M
0xec0000000 2304M primary
0xf50000000 2560M
0xff0000000 128M _sys_
0xff8000000 64M _sys_
0xffc000000 64M _sys_
0x400000000000 2G g0056
0x400080000000 1G primary
0x4000c0000000 1G g0056
0x400100000000 5888M primary
0x400270000000 8G g0056
0x400470000000 8G g0079
0x400670000000 1G g0056
0x4006b0000000 8G g0107
0x4008b0000000 10G g0058
0x400b30000000 4G g0082
0x400c30000000 8G s0004
0x400e30000000 4G g0082
0x400f30000000 3G
0x400ff0000000 192M _sys_
0x400ffc000000 64M _sys_
Since Solaris 11.4 SRU39 the ldm command add-spconfig offers
the new -m flag to cleanup the memory configuration.
# ldm add-spconfig -m s0003m
we need to power cycle the control domain.
shutdown all guest domains.
For users of JomaSoft VDCF you can use
gdom -c shutdown cdom=s0003
afterwards we poweroff and poweron the control domain
to activate the new configuration.
# init 0
after the system is down at the ok prompt.
{0} ok
Serial console stopped.
-> stop /SYS
Are you sure you want to stop /SYS (y/n)? y
Stopping /SYS
-> show /SYS power_state
/SYS
Properties:
power_state = Off
-> start /SYS
Are you sure you want to start /SYS (y/n)? y
Starting /SYS
this improved the memory allocation of all the domains
# ldm list-devices -a memory
MEMORY
PA SIZE BOUND
0x0 60M _sys_
0x3c00000 32M _sys_
0x5c00000 94M _sys_
0xba00000 1030M _sys_
0x4c000000 64M _sys_
0x50000000 24G primary
0x650000000 15G g0075
0xa10000000 8G g0081
0xc10000000 8G g0082
0xe10000000 6G g0095
0xf90000000 1536M marcel
0xff0000000 128M _sys_
0xff8000000 64M _sys_
0xffc000000 64M _sys_
0x400000000000 12G g0056
0x400300000000 10G g0058
0x400580000000 8G g0079
0x400780000000 8G g0107
0x400980000000 10752M marcel
0x400c20000000 8G s0004
0x400e20000000 7424M
0x400ff0000000 192M _sys_
0x400ffc000000 64M _sys_
Marcel Hofstetter Solaris Blog
News, Tips & Tricks and Ideas about Oracle Solaris.
21 August 2026
Cleanup LDom Memory Fragmentation
14 August 2026
New postgres packages 08/2026 are ready for Solaris 11.4 SPARC
New postgres packages are ready for Solaris 11.4 SPARC
You don't need to download source and compile yourself for Solaris.
We provide compiled postgres as Solaris 11.4 SPARC IPS pkgs.
Current versions are 18.6, 17.11, 16.15, 15.19, 14.24
Free download and no registration
https://www.jomasoft.ch/downloads/#js-opensource
28 July 2026
Only 6 months left for Solaris 10 and 11.3
Oracle does provide patches under Extended Support for
Solaris 10 and Solaris 11.3 till January 2027.
The dates are documented in
https://www.oracle.com/us/support/library/lifetime-support-hardware-301321.pdf
You can continue to run this Solaris versions, but who does
that without new patches and the security risks?
Migrate to Solaris 11.4, which will receive patches and new features
till January 2037 for sure, probably longer. Oracle extended
this date in the past already several times.
For Solaris 11.3 systems it is just SRU updates to Solaris 11.4.
For Solaris 10 you have to move the systems into Solaris branded zones
on Solaris 11.4. Your Solaris 10 apps and binaries will then run on
a current Solaris 11.4 kernel.
If you need help with such migrations you can use our JomaSoft
VDCF management tool and we offer migration and consulting services.
https://www.jomasoft.ch
16 June 2026
New Features in Solaris 11.4 SRU93 (June 2026)
Another quarterly Solaris SRU including new features
Kernel Crypto Framework SMF Policy
NFS Sockets
FOSS: Perl 5.42, PHP 8.5, bash5.3
EOF: mySQL 8.0, IKEv1
15 May 2026
New postgres packages are ready for Solaris 11.4 SPARC
You don't need to download source and compile yourself for Solaris.
We provide compiled postgres as Solaris 11.4 SPARC IPS pkgs.
Current versions are 18.4, 17.10, 16.14, 15.18, 14.23
Free download and no registration
https://www.jomasoft.ch/downloads/#js-opensource
04 May 2026
Oracle changes Solaris 11.4 SRU delivery
In the past Oracle provided Solaris SRUs (Support Repository Updates)
each month. This does change now. The types of SRUs are reduced
from 3 types to 2 types. Instead of 12 SRUs per year we will see 8 SRUs
per year.
a) Feature SRU (NEW)
This will be available early in the months
March, June, September, December
Around 6 weeks after the CPUs.
This SRU includes new features, tools, packages, version updates
and removal of old, outdated/insecure software.
I would recommend to install this SRU on test systems to verify
application compatibility and identify required configuration changes.
b) CPU (Critical Patch Updates)
No changes here.
Available January, April, July, October
The release dates are predefined and are published on
https://www.oracle.com/security-alerts/#CriticalPatchUpdates
This SRU includes critical fixes and security updates.
Most of our enterprise customers update to this SRU.
For critical issues Oracle will release individual
IDRs (Interim Diagnostic or Relief).
23 April 2026
Oracle provides JDK17 for Solaris 11.4 SPARC now!
It is free for personal use and development.
Download here:
https://www.oracle.com/java/technologies/downloads/#java17-solaris
The installation guide can be found here
https://docs.oracle.com/en/java/javase/17/install/installation-jdk-oracle-solaris.html