使用性能寄存器访问权限控制功能,可以获取、设置以及取消设置域对特定性能寄存器组的访问权限。
使用 ldm add-domain 和 ldm set-domain 命令为 perf-counters 属性指定值。如果未指定 perf-counters 值,则值为 htstrand。请参见 ldm(1M) 手册页。
可以为 perf-counters 属性指定以下值:
授予域对其已分配资源可以访问的全局性能计数器的访问权限。一次仅一个域可以访问全局性能计数器。可以单独指定此值或者与 strand 或 htstrand 值一起指定。
授予域对分配给该域的 CPU 上存在的导线束性能计数器的访问权限。不能将此值与 htstrand 值一起指定。
与 strand 值的行为相同并且允许检测分配给域的 CPU 上的超级特权模式事件。不能将此值与 strand 值一起指定。
要禁用对任何性能计数器的所有访问,请指定 perf-counters=。
如果虚拟机管理程序没有性能访问功能,尝试设置 perf-counters 属性将失败。
ldm list -o domain 和 ldm list -e 命令显示 perf-counters 属性的值。如果不支持性能访问功能,perf-counters 值将不显示在输出中。
示例 13-11 创建域并指定其性能寄存器访问权限创建对 global 寄存器集有访问权限的新 ldg0 域:
primary# ldm add-domain perf-counters=global ldg0示例 13-12 为域指定性能寄存器访问权限
指定 ldg0 域可以访问 global 和 strand 寄存器集:
primary# ldm set-domain perf-counters=global,strand ldg0示例 13-13 指定域不具有任何寄存器集访问权限
指定 ldg0 域不具有任何寄存器集访问权限:
primary# ldm set-domain perf-counters= ldg0示例 13-14 查看性能访问信息
以下示例显示如何使用 ldm list -o domain 命令查看性能访问信息。
以下 ldm list -o domain 命令显示在 ldg0 域上指定了 global 和 htstrand 性能值:
primary# ldm list -o domain ldg0 NAME STATE FLAGS UTIL NORM ldg0 active -n---- 0.0% 0.0% SOFTSTATE Solaris running UUID 062200af-2de2-e05f-b271-f6200fd3eee3 HOSTID 0x84fb315d CONTROL failure-policy=ignore extended-mapin-space=on cpu-arch=native rc-add-policy= shutdown-group=15 perf-counters=global,htstrand DEPENDENCY master= PPRIORITY 4000 VARIABLES auto-boot?=false boot-device=/virtual-devices@100/channel-devices@200/disk@0:a /virtualdevices@100/channel@200/disk@0 network-boot-arguments=dhcp,hostname=solaris, file=http://10.129.241.238:5555/cgibin/wanboot-cgi pm_boot_policy=disabled=0;ttfc=2000;ttmr=0;
以下 ldm list -p -o domain 命令显示与先前示例中相同的信息,但是使用可解析形式:
primary# ldm list -p -o domain ldg0 VERSION 1.12 DOMAIN|name=ldg0|state=active|flags=normal|util=|norm_util= UUID|uuid=4e8749b9-281b-e2b1-d0e2-ef4dc2ce5ce6 HOSTID|hostid=0x84f97452 CONTROL|failure-policy=reset|extended-mapin-space=on|cpu-arch=native|rc-add-policy=| shutdown-group=15|perf-counters=global,htstrand DEPENDENCY|master= VARIABLES |auto-boot?=false |boot-device=/virtual-devices@100/channel-devices@200/disk@0 |pm_boot_policy=disabled=0;ttfc=2500000;ttmr=0;