编写设备驱动程序

响应代理

代理是可为了响应诊断或修复而执行操作的软件组件。例如,CPU 和内存弃用代理设计为对包含 fault.cpu.* 事件的 list.suspect 执行操作。cpumem-retire 代理将尝试在服务中使 CPU 脱机或弃用物理内存页。如果该代理成功,则会在故障管理器的 ASRU 缓存中为成功弃用的页或 CPU 添加一项。以下示例所示的 fmadm(1M) 实用程序显示了被诊断为有故障的内存等级的一项。系统无法使其脱机、将其弃用或禁用的 ASRU 也会在 ASRU 缓存中存在一项,但会将其视为被降级。降级意味着与 ASRU 关联的资源有故障,但无法从服务中将该 ASRU 删除。目前,Solaris 代理软件不能对 I/O ASRU(设备实例)执行操作。缓存中所有有故障的 I/O 资源项都处于降级状态。


# fmadm faulty
   STATE RESOURCE / UUID
-------- ----------------------------------------------------------------------
degraded mem:///motherboard=0/chip=1/memory-controller=0/dimm=3/rank=0
         ccae89df-2217-4f5c-add4-d920f78b4faf
-------- ----------------------------------------------------------------------

弃用代理的主要用途是隔离(从服务中安全删除)被诊断为有故障的硬件或软件部分。

代理还可以执行其他重要操作,例如以下操作: