<chapter id="rmconsole-1"><title>Resource Control Functionality
in the Solaris Management Console</title><highlights><para>This chapter describes the resource control and performance monitoring
features in the Solaris Management Console. Only a subset of the resource
management features can be controlled using the console.</para><para>You can use the console to monitor system performance and to enter the
resource control values shown in <olink targetptr="rmconsole-tbl-85" remap="internal">Table&nbsp;15&ndash;1</olink> for projects, tasks, and processes. The console provides
a convenient, secure alternative to the command-line interface (CLI) for managing
hundreds of configuration parameters that are spread across many systems.
Each system is managed individually. The console's graphical interface supports
all experience levels.</para><para>The following topics are covered.</para><itemizedlist><listitem><para><olink targetptr="rmconsole-7" remap="internal">Using the Console (Task Map)</olink></para>
</listitem><listitem><para><olink targetptr="rmconsole-2" remap="internal">Console Overview</olink></para>
</listitem><listitem><para><olink targetptr="rmconsole-3" remap="internal">Management Scope</olink></para>
</listitem><listitem><para><olink targetptr="rmconsole-8" remap="internal">Performance Tool</olink></para>
</listitem><listitem><para><olink targetptr="rmconsole-4" remap="internal">Resource Controls Tab</olink></para>
</listitem><listitem><para><olink targetptr="rmconsole-16" remap="internal">Console References</olink></para>
</listitem>
</itemizedlist>
</highlights><sect1 id="rmconsole-7"><title>Using the Console (Task Map)</title><informaltable frame="all" pgwide="1"><tgroup cols="3" colsep="1" rowsep="1"><colspec colwidth="33*"/><colspec colwidth="33*"/><colspec colwidth="33*"/><thead><row><entry><para>Task</para>
</entry><entry><para>Description</para>
</entry><entry><para>For Instructions</para>
</entry>
</row>
</thead><tbody><row><entry><para>Use the console</para>
</entry><entry><para>Start the Solaris Management Console in a local environment or in a
name service or directory service environment. Note that the performance tool
is not available in a name service environment.</para>
</entry><entry><para><olink targetdoc="sysadv1" targetptr="smcover-18" remap="external"><citetitle remap="section">Starting the Solaris Management Console</citetitle> in <citetitle remap="book">System Administration Guide: Basic Administration</citetitle></olink> and <olink targetdoc="sysadv1" targetptr="smcover-21" remap="external"><citetitle remap="section">Using the Solaris Management Tools in a Name Service Environment (Task Map)</citetitle> in <citetitle remap="book">System Administration Guide: Basic Administration</citetitle></olink></para>
</entry>
</row><row><entry><para>Monitor system performance</para>
</entry><entry><para>Access the Performance tool under System Status.</para>
</entry><entry><para><olink targetptr="rmconsole-10" remap="internal">How to Access the Performance Tool</olink></para>
</entry>
</row><row><entry><para>Add resource controls to projects</para>
</entry><entry><para>Access the Resource Controls tab under System Configuration.</para>
</entry><entry><para><olink targetptr="rmconsole-15" remap="internal">How to Access the Resource Controls
Tab</olink></para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect1><sect1 id="rmconsole-2"><title>Console Overview</title><para>Resource management functionality is a component of the Solaris
Management Console. The console is a container for GUI-based administrative
tools that are stored in collections called toolboxes. For information on
the console and how to use it, see <olink targetdoc="sysadv1" targetptr="smcover-1" remap="external">Chapter 2, <citetitle remap="chapter">Working With the Solaris Management Console (Tasks),</citetitle> in <citetitle remap="book">System Administration Guide: Basic Administration</citetitle></olink>.</para><para>When you use the console and its tools, the main source of documentation
is the online help system in the console itself. For a description of the
documentation available in the online help, see <olink targetdoc="sysadv1" targetptr="smcover-3" remap="external"><citetitle remap="section">Solaris Management Console (Overview)</citetitle> in <citetitle remap="book">System Administration Guide: Basic Administration</citetitle></olink>.</para>
</sect1><sect1 id="rmconsole-3"><title>Management Scope</title><para>The term <emphasis>management scope</emphasis> refers to the name service
environment that you choose to use with the selected management tool. The
management scope choices for the resource control and performance tools are
the<filename>/etc/project</filename> local file, or NIS.</para><para>The management scope that you select during a console session should
correspond to the primary name service that is identified in the <filename>/etc/nsswitch.conf</filename> file.</para>
</sect1><sect1 id="rmconsole-8"><title>Performance Tool</title><para>The Performance tool is used to monitor resource utilization.
Resource utilization can be summarized for the system, viewed by project,
or viewed for an individual user.</para><figure id="rmconsole-fig-23"><title>Performance Tool in the Solaris Management
Console</title><mediaobject><imageobject><imagedata entityref="rmperf"/>
</imageobject><textobject><simpara>Screen capture shows Performance under Management Tools
in Navigation pane and summary of system performance Attribute and Value pane.</simpara>
</textobject>
</mediaobject>
</figure><task id="rmconsole-10"><title>How to Access the Performance Tool</title><tasksummary><para>The Performance tool is located under System Status in the Navigation
pane. To access the Performance tool, do the following:</para>
</tasksummary><procedure><step id="rmconsole-step-23"><para>Click the System Status control entity
in the Navigation pane.</para><para>The control entity is used to expand menu
items in the Navigation pane.</para>
</step><step id="rmconsole-step-12"><para>Click the Performance control entity.</para>
</step><step id="rmconsole-step-13"><para>Click the System control entity.</para>
</step><step id="rmconsole-step-14"><para>Double-click Summary, Projects, or Users.</para><para>Your choice depends on the usage you want to monitor.</para>
</step>
</procedure>
</task><sect2 id="rmconsole-5"><title>Monitoring by System</title><para>Values are shown for the following attributes.</para><informaltable frame="all"><tgroup cols="2" colsep="1" rowsep="1"><colspec colwidth="50*"/><colspec colwidth="50*"/><thead><row><entry><para>Attribute</para>
</entry><entry><para>Description</para>
</entry>
</row>
</thead><tbody><row><entry><para>Active Processes</para>
</entry><entry><para>Number of processes that are active on the system</para>
</entry>
</row><row><entry><para>Physical Memory Used</para>
</entry><entry><para>Amount of system memory that is in use </para>
</entry>
</row><row><entry><para>Physical Memory Free</para>
</entry><entry><para>Amount of system memory that is available</para>
</entry>
</row><row><entry><para>Swap Used</para>
</entry><entry><para>Amount of system swap space that is in use</para>
</entry>
</row><row><entry><para>Swap Free</para>
</entry><entry><para>Amount of free system swap space</para>
</entry>
</row><row><entry><para>Page Rate</para>
</entry><entry><para>Rate of system paging activity</para>
</entry>
</row><row><entry><para>System Calls</para>
</entry><entry><para>Number of system calls per second</para>
</entry>
</row><row><entry><para>Network Packets</para>
</entry><entry><para>Number of network packets that are transmitted per second</para>
</entry>
</row><row><entry><para>CPU Usage</para>
</entry><entry><para>Percentage of CPU that is currently in use</para>
</entry>
</row><row><entry><para>Load Average</para>
</entry><entry><para>Number of processes in the system run queue which are averaged over
the last 1, 5, and 15 minutes</para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2><sect2 id="rmconsole-9"><title>Monitoring by Project or User Name</title><para>Values are shown for the following attributes.</para><informaltable frame="all"><tgroup cols="3" colsep="1" rowsep="1"><colspec colwidth="30*"/><colspec colwidth="30*"/><colspec colwidth="30*"/><thead><row><entry><para>Attribute</para>
</entry><entry><para>Short Name</para>
</entry><entry><para>Description</para>
</entry>
</row>
</thead><tbody><row><entry><para>Input Blocks</para>
</entry><entry><para><literal>inblk</literal></para>
</entry><entry><para>Number of blocks read</para>
</entry>
</row><row><entry><para>Blocks Written</para>
</entry><entry><para><literal>oublk</literal></para>
</entry><entry><para>Number of blocks written</para>
</entry>
</row><row><entry><para>Chars Read/Written</para>
</entry><entry><para><literal>ioch</literal></para>
</entry><entry><para>Number of characters read and written</para>
</entry>
</row><row><entry><para>Data Page Fault Sleep Time</para>
</entry><entry><para><literal>dftime</literal></para>
</entry><entry><para>Amount of time spent processing data page faults</para>
</entry>
</row><row><entry><para>Involuntary Context Switches</para>
</entry><entry><para><literal>ictx</literal></para>
</entry><entry><para>Number of involuntary context switches</para>
</entry>
</row><row><entry><para>System Mode Time</para>
</entry><entry><para><literal>stime</literal></para>
</entry><entry><para>Amount of time spent in the kernel mode</para>
</entry>
</row><row><entry><para>Major Page Faults</para>
</entry><entry><para><literal>majfl</literal></para>
</entry><entry><para>Number of major page faults</para>
</entry>
</row><row><entry><para>Messages Received</para>
</entry><entry><para><literal>mrcv</literal></para>
</entry><entry><para>Number of messages received</para>
</entry>
</row><row><entry><para>Messages Sent</para>
</entry><entry><para><literal>msend</literal></para>
</entry><entry><para>Number of messages sent</para>
</entry>
</row><row><entry><para>Minor Page Faults</para>
</entry><entry><para><literal>minf</literal></para>
</entry><entry><para>Number of minor page faults</para>
</entry>
</row><row><entry><para>Num Processes</para>
</entry><entry><para><literal>nprocs</literal></para>
</entry><entry><para>Number of processes owned by the user or the project</para>
</entry>
</row><row><entry><para>Num LWPs</para>
</entry><entry><para><literal>count</literal></para>
</entry><entry><para>Number of lightweight processes</para>
</entry>
</row><row><entry><para>Other Sleep Time</para>
</entry><entry><para><literal>slptime</literal></para>
</entry><entry><para>Sleep time other than <literal>tftime</literal>, <literal>dftime</literal>, <literal>kftime</literal>, and <literal>ltime</literal></para>
</entry>
</row><row><entry><para>CPU Time</para>
</entry><entry><para><literal>pctcpu</literal></para>
</entry><entry><para>Percentage of recent CPU time used by the process, the user, or the
project</para>
</entry>
</row><row><entry><para>Memory Used</para>
</entry><entry><para><literal>pctmem</literal></para>
</entry><entry><para>Percentage of system memory used by the process, the user, or the project</para>
</entry>
</row><row><entry><para>Heap Size</para>
</entry><entry><para><literal>brksize</literal></para>
</entry><entry><para>Amount of memory allocated for the process data segment</para>
</entry>
</row><row><entry><para>Resident Set Size</para>
</entry><entry><para><literal>rsssize</literal></para>
</entry><entry><para>Current amount of memory claimed by the process</para>
</entry>
</row><row><entry><para>Process Image Size</para>
</entry><entry><para><literal>size</literal></para>
</entry><entry><para>Size of the process image in Kbytes</para>
</entry>
</row><row><entry><para>Signals Received</para>
</entry><entry><para><literal>sigs</literal></para>
</entry><entry><para>Number of signals received</para>
</entry>
</row><row><entry><para>Stopped Time</para>
</entry><entry><para><literal>stoptime</literal></para>
</entry><entry><para>Amount of time spent in the stopped state</para>
</entry>
</row><row><entry><para>Swap Operations</para>
</entry><entry><para><literal>swaps</literal></para>
</entry><entry><para>Number of swap operations in progress</para>
</entry>
</row><row><entry><para>System Calls Made</para>
</entry><entry><para><literal>sysc</literal></para>
</entry><entry><para>Number of system calls made over the last time interval</para>
</entry>
</row><row><entry><para>System Page Fault Sleep Time</para>
</entry><entry><para><literal>kftime</literal></para>
</entry><entry><para>Amount of time spent processing page faults</para>
</entry>
</row><row><entry><para>System Trap Time</para>
</entry><entry><para><literal>ttime</literal></para>
</entry><entry><para>Amount of time spent processing system traps</para>
</entry>
</row><row><entry><para>Text Page Fault Sleep Time</para>
</entry><entry><para><literal>tftime</literal></para>
</entry><entry><para>Amount of time spent processing text page faults</para>
</entry>
</row><row><entry><para>User Lock Wait Sleep Time</para>
</entry><entry><para><literal>ltime</literal></para>
</entry><entry><para>Amount of time spent waiting for user locks</para>
</entry>
</row><row><entry><para>User Mode Time</para>
</entry><entry><para><literal>utime</literal></para>
</entry><entry><para>Amount of time spent in the user mode</para>
</entry>
</row><row><entry><para>User and System Mode Time</para>
</entry><entry><para><literal>time</literal></para>
</entry><entry><para>The cumulative CPU execution time</para>
</entry>
</row><row><entry><para>Voluntary Context Switches</para>
</entry><entry><para><literal>vctx</literal></para>
</entry><entry><para>Number of voluntary context switches</para>
</entry>
</row><row><entry><para>Wait CPU Time</para>
</entry><entry><para><literal>wtime</literal></para>
</entry><entry><para>Amount of time spent waiting for CPU (latency)</para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
</sect1><sect1 id="rmconsole-4"><title>Resource Controls Tab</title><para>Resource controls allow you to associate a project with a set of resource
constraints. These constraints determine the allowable resource usage of tasks
and processes that run in the context of the project.</para><figure id="rmconsole-fig-24"><title>Resource Controls Tab in the Solaris
Management Console</title><mediaobject><imageobject><imagedata entityref="rmproj"/>
</imageobject><textobject><simpara>Screen capture shows the Resource Controls tab. Resource
controls and their values appear on the tab.</simpara>
</textobject>
</mediaobject>
</figure><task id="rmconsole-15"><title>How to Access the Resource Controls Tab</title><tasksummary><para>The Resource Controls tab is located under System Configuration in the
Navigation pane. To access Resource Controls, do the following:</para>
</tasksummary><procedure><step id="rmconsole-step-24"><para>Click the System Configuration control
entity in the Navigation pane.</para>
</step><step id="rmconsole-step-18"><para>Double-click Projects.</para>
</step><step id="rmconsole-step-19"><para>Click on a project in the console main
window to select it.</para>
</step><step id="rmconsole-step-20"><para>Select Properties from the Action menu.</para>
</step><step id="rmconsole-step-21"><para>Click the Resource Controls tab.</para><para>View,
add, edit, or delete resource control values for processes, projects, and
tasks.</para>
</step>
</procedure>
</task><sect2 id="rmconsole-22"><title>Resource Controls You Can Set</title><para>The following table shows the resource controls that can be set in the
console. The table describes the resource that is constrained by each control.
The table also identifies the default units that are used by the <filename>project</filename> database for that resource. The default units are of two types:</para><itemizedlist><listitem><para>Quantities represent a limited amount.</para>
</listitem><listitem><para>Indexes represent a maximum valid identifier.</para>
</listitem>
</itemizedlist><para>Thus, <literal>project.cpu-shares</literal> specifies the number of
shares to which the project is entitled. <literal>process.max-file-descriptor</literal> specifies
the highest file number that can be assigned to a process by the <olink targetdoc="group-refman" targetptr="open-2" remap="external"><citerefentry><refentrytitle>open</refentrytitle><manvolnum>2</manvolnum></citerefentry></olink> system call.</para><table frame="all" id="rmconsole-tbl-85"><title>Standard Resource Controls
Available in the Solaris Management Console</title><tgroup cols="3" colsep="1" rowsep="1"><colspec colwidth="39*"/><colspec colwidth="39*"/><colspec colwidth="22*"/><thead><row><entry><para>Control Name</para>
</entry><entry><para>Description</para>
</entry><entry><para>Default Unit</para>
</entry>
</row>
</thead><tbody><row><entry><para><literal>project.cpu-shares</literal></para>
</entry><entry><para>The number of CPU shares that are granted to this project for use with
the fair share scheduler (FSS) (see the <olink targetdoc="group-refman" targetptr="fss-7" remap="external"><citerefentry><refentrytitle>FSS</refentrytitle><manvolnum>7</manvolnum></citerefentry></olink> man page)</para>
</entry><entry><para>Quantity (shares)</para>
</entry>
</row><row><entry><para><literal>task.max-cpu-time</literal></para>
</entry><entry><para>Maximum CPU time that is available to this task's processes</para>
</entry><entry><para>Time (seconds)</para>
</entry>
</row><row><entry><para><literal>task.max-lwps</literal></para>
</entry><entry><para>Maximum number of LWPs simultaneously available to this task's processes</para>
</entry><entry><para>Quantity (LWPs)</para>
</entry>
</row><row><entry><para><literal>process.max-cpu-time</literal></para>
</entry><entry><para>Maximum CPU time that is available to this process</para>
</entry><entry><para>Time (seconds)</para>
</entry>
</row><row><entry><para><literal>process.max-file-descriptor</literal></para>
</entry><entry><para>Maximum file descriptor index that is available to this process</para>
</entry><entry><para>Index (maximum file descriptor)</para>
</entry>
</row><row><entry><para><literal>process.max-file-size</literal></para>
</entry><entry><para>Maximum file offset that is available for writing by this process</para>
</entry><entry><para>Size (bytes)</para>
</entry>
</row><row><entry><para><literal>process.max-core-size</literal></para>
</entry><entry><para>Maximum size of a core file that is created by this process</para>
</entry><entry><para>Size (bytes)</para>
</entry>
</row><row><entry><para><literal>process.max-data-size</literal></para>
</entry><entry><para>Maximum heap memory that is available to this process</para>
</entry><entry><para>Size (bytes)</para>
</entry>
</row><row><entry><para><literal>process.max-stack-size</literal></para>
</entry><entry><para>Maximum stack memory segment that is available to this process</para>
</entry><entry><para>Size (bytes)</para>
</entry>
</row><row><entry><para><literal>process.max-address-space</literal></para>
</entry><entry><para>Maximum amount of address space, as summed over segment sizes, available
to this process</para>
</entry><entry><para>Size (bytes)</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</sect2><sect2 id="rmconsole-6"><title>Setting Values</title><para>You can view, add, edit, or delete resource control values for
processes, projects, and tasks. These operations are performed through dialog
boxes in the console.</para><para>Resource controls and values are viewed in tables in the console. The
Resource Control column lists the resource controls that can be set. The Value
column displays the properties that are associated with each resource control.
In the table, these values are enclosed in parentheses, and they appear as
plain text separated by commas. The values in parentheses comprise an &ldquo;action
clause.&rdquo; Each action clause is composed of a threshold, a privilege
level, one signal, and one local action that is associated with the particular
threshold. Each resource control can have multiple action clauses, which are
also separated by commas.</para><note><para>On a running system, values that are altered in the <filename>project</filename> database through the console only take effect for new tasks that
are started in a project.</para>
</note>
</sect2>
</sect1><sect1 id="rmconsole-16"><title>Console References</title><para>For information on projects and tasks, see <olink targetptr="rmtaskproj-1" remap="internal">Chapter&nbsp;2, Projects and Tasks (Overview)</olink>. For information on
resource controls, see <olink targetptr="rmctrls-1" remap="internal">Chapter&nbsp;6, Resource
Controls (Overview)</olink>. For information on the fair share scheduler (FSS),
see <olink targetptr="rmfss-1" remap="internal">Chapter&nbsp;8, Fair Share Scheduler (Overview)</olink>.</para><note><para>Not all resource controls can be set in the console. See <olink targetptr="rmconsole-tbl-85" remap="internal">Table&nbsp;15&ndash;1</olink> for the list of controls
that can be set in the console.</para>
</note>
</sect1>
</chapter>