Solaris 10 OperatingSystem Available MBytes Swap Monitor
This monitor checks the amount of available swap space. If you receive an alert from this monitor, action may be required in order to bring the System back to an operational state.
An unhealthy state indicates that the swap space utilization is currently high. Circumstances that may cause this condition:
Processes using excessive physical memory resources.
Writing to a temp filesystem.
Too many applications are running simultaneously on the computer.
An application may be leaking memory over time.
Close or stop one or more applications, daemons, or processes. Execute the "top" command or execute "Top 10 CPU Processes" Task from the State View. It will provide a listing of processes ordered by CPU usage, the listing by default will display only the top CPU consuming processes and their corresponding PID (Process ID). Utilizing the output from the "top" command identify any offending or unnecessary processes along with its PID number. Issue a "kill" command utilizing the PID for the process. For example, if the PID number for the process is 4510, then issue the command 'kill 4510'.
Add additional swap space. Using mkfile create a file for local swap area. To create a 1GB swap file: /usr/sbin/mkfile 1024m /path/file where /path/file is the path to the file to be used as swap space (i.e. /usr/sbin/mkfile 1024m /usr/localswap ). Units for the size can be kilobytes (k), blocks (b), or megabytes (m). Issue the command to initialize the additional swap space "/usr/sbin/swap -a /usr/localswap". Issue the command to verify additional swap space "swap -l".
Add additional Physical Memory to the computer.
You can view Available Memory by running the "Memory Information" Task from the State View.
VMStat provides detailed Memory Statistics averaged since the last reboot. You can run the VMStat Task from the State View.
Target | Microsoft.Solaris.10.OperatingSystem | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Unix.WSMan.Performance.Average.Threshold.MonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.Solaris.10.OperatingSystem.AvailableMBytesSwap.Monitor" Accessibility="Public" Target="Microsoft.Solaris.10.OperatingSystem" TypeID="Unix!Microsoft.Unix.WSMan.Performance.Average.Threshold.MonitorType" Enabled="true" ParentMonitorID="SystemHealth!System.Health.PerformanceState">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Solaris.10.OperatingSystem.AvailableMBytesSwap.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Value$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState HealthState="Error" MonitorTypeStateID="UnderThreshold" ID="UnderThreshold"/>
<OperationalState HealthState="Success" MonitorTypeStateID="OverThreshold" ID="OverThreshold"/>
</OperationalStates>
<Configuration>
<TargetSystem>$Target/Host/Property[Type="Unix!Microsoft.Unix.Computer"]/NetworkName$</TargetSystem>
<Uri>http://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/SCX_MemoryStatisticalInformation?__cimnamespace=root/scx</Uri>
<Filter/>
<SplitItems>true</SplitItems>
<Interval>300</Interval>
<ObjectName>Swap Space</ObjectName>
<CounterName>Available MBytes</CounterName>
<InstanceName/>
<Value>$Data///*[local-name()="AvailableSwap"]$</Value>
<Threshold>2.5</Threshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>