dispadmin -l
dispadmin -c class {-g [-r res] | -s file}
dispadmin -d [class]
dispadmin 命令可在系统运行时显示或更改进程调度程序参数。
dispadmin 对 file 中提供的值执行有限的检查,仅验证它们是否处于所需的边界内。但是,检查不尝试分析新值对于系统性能的影响。不适当的值可能会对系统性能造成负面影响。(请参见在 Oracle Solaris 11.2 中管理系统信息、进程和性能 。)
支持以下选项:
指定要显示或更改其参数的类。有效的 class 值如下:对于实时类为 RT、对于分时类为 TS、对于交互类为 IA、对于公平份额类为 FSS、对于固定优先级类为 FX。分时类和交互类共享相同的调度程序,因此更改其中一个类的调度参数也将更改另一个类的参数。
设置或显示在重新引导时启动 svc:/system/scheduler:default 时要使用的缺省调度类的名称。如果未指定类名称,则显示当前缺省调度类的名称和描述。如果指定了类名称并且该名称为有效的调度类名称,那么将其保存在 dispadmin 的专用配置文件 /etc/dispadmin.conf 中。只有超级用户可以设置缺省调度类。
获取指定类的参数并将其写入标准输出。实时类的参数在 rt_dptbl(4) 中进行了介绍。分时类和交互类的参数在 ts_dptbl(4) 中进行了介绍。公平份额类的参数在 FSS(7) 中进行了介绍。固定优先级类的参数在 fx_dptbl(4) 中进行了介绍。
–g 和 –s 选项互斥:您不能在覆盖表的同时检索表。
列出系统中当前配置的调度程序类。
当使用 –g 选项时,您还可以使用 –r 选项指定用于输出时间量程值的精度。如果未指定精度,那么时间量程值以毫秒为单位。如果指定 res,其必须是介于 1 和 1000000000(包括 1 和 1000000000)之间的正整数,使用的精度是 res 的倒数(单位为秒)。例如,res 值为 10 时会生成以十分之一秒表示的时间量程值;res 值为 1000000 时会生成以微秒表示的时间量程值。如果时间量程不能以指定精度表示为整数,则将其舍入到指定精度的下一个整数倍数。
使用 file 中的值设置指定类的调度程序参数。这些值会覆盖内存中的当前值-它们将成为控制指定类中进程调度的参数。file 中的值必须采用 –g 选项输出的格式。此外,这些值描述的表必须与所覆盖的表大小相同(具有相同的优先级数)。需要具有超级用户特权才能使用 –s 选项。
以系统时钟周期,而不是恒定时间单位,指定调度类的时间量程值。时间量程值以内核的 hz 变量值为基础。如果将内核变量 hires_tick 设置为 1 以实现较高精度的时钟行为,那么实际时间量程将按照 10 的数量级减少。
–g 和 –s 选项互斥:您不能在覆盖表的同时检索表。
以下命令可从内核内存中检索实时类的当前调度程序参数,并将其写入标准输出。时间量程值以微秒为单位。
dispadmin –c RT –g –r 1000000示例 2 覆盖实时类的当前调度程序参数
以下命令可使用 rt.config 中指定的值覆盖实时类的当前调度程序参数。
dispadmin –c RT –s rt.config示例 3 检索分时类的当前调度程序参数
以下命令可从内核内存中检索分时类的当前调度程序参数,并将其写入标准输出。时间量程值以纳秒为单位。
dispadmin –c TS –g –r 1000000000示例 4 覆盖分时类的当前调度程序参数
以下命令可使用 ts.config 中指定的值覆盖分时类的当前调度程序参数。
dispadmin –c TS –s ts.config
–s 选项参数的可能位置。
有关下列属性的说明,请参见 attributes(5):
|
priocntl(1)、svcs(1)、svcadm(1M)、priocntl(2)、fx_dptbl(4)、rt_dptbl(4)、ts_dptbl(4)、attributes(5)、smf(5)、FSS(7)
Oracle Solaris 11 管理介绍 Oracle Solaris 11.2 Programming Interfaces Guide
如果因缺少所需的权限或指定输入文件出现问题而无法覆盖当前调度程序参数,那么 dispadmin 将输出相应的诊断消息。
缺省调度类设置工具由服务管理工具 smf(5) 管理,其服务标识符为:
svc:/system/scheduler:default
可以使用 svcadm(1M) 来对此服务执行管理操作(如启用、禁用或请求重新启动)。请注意,在服务运行期间禁用服务不会改变任何事情。可以使用 svcs(1) 命令来查询服务的状态。