Copyright 1989 AT&T Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
dispadmin -l
dispadmin -c class {-g [-r res] | -s file}
dispadmin -d [class]
The dispadmin command displays or changes process scheduler parameters while the system is running.
dispadmin does limited checking on the values supplied in file to verify that they are within their required bounds. The checking, however, does not attempt to analyze the effect that the new values have on the performance of the system. Inappropriate values can have a negative effect on system performance. (See System Administration Guide: Advanced Administration.)
The following options are supported: -c class
Specifies the class whose parameters are to be displayed or changed. Valid class values are: RT for the real-time class, TS for the time-sharing class, IA for the inter-active class, FSS for the fair-share class, and FX for the fixed-priority class. The time-sharing and inter-active classes share the same scheduler, so changes to the scheduling parameters of one will change those of the other.
Sets or displays the name of the default scheduling class to be used on reboot when starting svc:/system/scheduler:default. If class name is not specified, the name and description of the current default scheduling class is displayed. If class name is specified and is a valid scheduling class name, then it is saved in dispadmin's private configuration file /etc/dispadmin.conf. Only super-users can set the default scheduling class.
Gets the parameters for the specified class and writes them to the standard output. Parameters for the real-time class are described in rt_dptbl(4). Parameters for the time-sharing and inter-active classes are described in ts_dptbl(4). Parameters for the fair-share class are described in FSS(7). Parameters for the fixed-priority class are described in fx_dptbl(4). The -g and -s options are mutually exclusive: you may not retrieve the table at the same time you are overwriting it.
Lists the scheduler classes currently configured in the system.
When using the -g option you may also use the -r option to specify a resolution to be used for outputting the time quantum values. If no resolution is specified, time quantum values are in milliseconds. If res is specified it must be a positive integer between 1 and 1000000000 inclusive, and the resolution used is the reciprocal of res in seconds. For example, a res value of 10 yields time quantum values expressed in tenths of a second; a res value of 1000000 yields time quantum values expressed in microseconds. If the time quantum cannot be expressed as an integer in the specified resolution, it is rounded up to the next integral multiple of the specified resolution.
Sets scheduler parameters for the specified class using the values in file. These values overwrite the current values in memory\(emthey become the parameters that control scheduling of processes in the specified class. The values in file must be in the format output by the -g option. Moreover, the values must describe a table that is the same size (has same number of priority levels) as the table being overwritten. Super-user privileges are required in order to use the -s option. Specify time quantum values for scheduling classes in system clock ticks, and not in constant-time units. Time quantum values are based on the value of the kernel's hz variable. If kernel variable hires_tick is set to 1 to get higher resolution clock behavior, the actual time quanta will be reduced by the order of 10. The -g and -s options are mutually exclusive: you may not retrieve the table at the same time you are overwriting it.
Example 1 Retrieving the Current Scheduler Parameters for the real-time class
The following command retrieves the current scheduler parameters for the real-time class from kernel memory and writes them to the standard output. Time quantum values are in microseconds.
dispadmin -c RT -g -r 1000000
Example 2 Overwriting the Current Scheduler Parameters for the Real-time Class
The following command overwrites the current scheduler parameters for the real-time class with the values specified in rt.config.
dispadmin -c RT -s rt.config
Example 3 Retrieving the Current Scheduler Parameters for the Time-sharing Class
The following command retrieves the current scheduler parameters for the time-sharing class from kernel memory and writes them to the standard output. Time quantum values are in nanoseconds.
dispadmin -c TS -g -r 1000000000
Example 4 Overwriting the Current Scheduler Parameters for the Time-sharing Class
The following command overwrites the current scheduler parameters for the time-sharing class with the values specified in ts.config.
dispadmin -c TS -s ts.config
Possible location for argument to -s option.
priocntl(1), svcs(1), svcadm(1M), priocntl(2), fx_dptbl(4), rt_dptbl(4), ts_dptbl(4), attributes(5), smf(5), FSS(7)
dispadmin prints an appropriate diagnostic message if it fails to overwrite the current scheduler parameters due to lack of required permissions or a problem with the specified input file.
The default scheduling class setting facility is managed by the service management facility, smf(5), under the service identifier:
svc:/system/scheduler:default
Administrative actions on this service, such as enabling, disabling, or requesting restart, can be performed using svcadm(1M). Note that disabling the service while it is running will not change anything. The service's status can be queried using the svcs(1) command.