dumpctrl 命令

用途

管理系统转储和活动转储。

语法

dumpctrl -k

dumpctrl -R [ l | s ] [-P]

dumpctrl-s [-c | -C comp-path-list] [-l | -L comp-alias-list] [-t | -T 类型_子类型] [-r][-u]

dumpctrl -qc [-c 编译路径列表] [-l comp-alias-list] [-t 类型_子类型] [-r][-u][-p | -P]

dumpctrl -ql [-p | -P]

dumpctrl -q [-p | -P]

dumpctrl [-P] [全局属性 ]

dumpctrl [-c 组合路径列表] [l comp-alias-list] [-t 类型_子类型] [-r][-u][-n | -p | -P | -x] [per-component_attribute] 每组件属性

描述

转储组件有两种:
component
引用通过 RAS 基础结构指定的组件 (使用 ras_register() 内核服务创建的组件)。
legacy component
引用使用 dmp_add()dmp_ctl() 内核服务指定的转储组件。

dumpctrl 命令用于获取注册活动转储或系统转储的组件的有关信息,并用于查询和更改转储特征。

组件通过完整路径名、设备逻辑别名、类型或子类型来指定。 可以使用多个标志来指定多个组件或组件列表。

标志

至少必须指定一个标志。

描述
-c comp-path-list 通过路径名指定组件。 允许使用通配符。 可使用 -c all 命令来指定所有组件。
-k 刷新内核转储的列表。 在缺省情况下,此标志每 5 分钟运行一次。 通过编辑 root 用户的 crontab 命令并更改 /usr/sbin/dumpctrl -k 的条目,可更改此周期。 有关更多信息,请参阅 crontab 命令。 手动添加或除去转储后,必须运行 dumpctrl -k 命令。

如果系统正在堆中保存一些先前未能写入文件系统的转储,那么系统会尝试写入这些转储,并且立即回收它们的存储空间。

-l comp-alias-list 通过别名指定组件。 允许使用通配符。
-r 转储指定组件的子组件。
-q 命令 查询活动转储或系统转储的属性。
  • -qc 标志显示了组件活动转储和系统转储属性。 -qc 标志可以与 -p-P 标志配合使用,以查询每个组件的持久属性。 如果 -c-l-t 标志中的任何一个都没有指定,那么 -qc 标志会显示所有组件的属性。 换言之, -c all 是缺省值。
    以下是该命令的示例输出:
    dumpctrl -qc -r -l vmm -l proc
    
    --------------------------------------------------------------------------
         Component name                       | Have | Live Dump | System Dump
                                              |Alias |  /level   |  /level
    --------------------------------------------------------------------------
    vmm                                       | no   |  on/3     |  on/3
         .pft                                 | no   |  on/3     |  on/3
    	 ...
    proc                                      | no   |  on/4     |  on/3
         ...
  • -ql 标志会列示全局活动转储设置。 -ql 标志可与 -p-P 标志配合使用,以查询持久性全局活动转储设置。
  • -qs type 标志会显示全局系统转储属性。 -qs 可与 -p-P 标志配合使用,以查询全局系统转储属性。
-r 包括组件层次结构中指定组件下的组件。
-Rx 将转储设置恢复为缺省值。 x 可以是 l(对于活动转储设置),也可以是 s(对于系统转储设置)。 它仅重置全局转储设置。 无法指定个别组件。 需要使用 -P 标志和新引导映像,以确保所有这些设置在重新启动过程中仍然有效。
-t 子类型 通过 type_subtype 名称指定组件。
-s 列示转储存储库中所有活动转储的路径名和标题。 如果使用 -c-l-t 标志指定了组件,那么显示的转储列表仅包含具有指定组件的转储。 如果使用 -C-L-T 标志指定了组件,那么显示的转储列表仅包含具有指定故障组件的转储。
-C comp-path-list 通过路径名指定组件。 允许使用通配符。 保留的名称 all 还可指示所有组件。 -C 标志仅在与 -s 标志一起使用时有效。
-L comp-alias-list 通过别名指定组件。 允许使用通配符。 -L 标志仅在与 -s 标志一起使用时有效。
-T 子类型 通过 type_subtype 名称指定组件。 -T 标志仅在与 -s 标志配合使用时才有效。
-u 包括组件层次结构中指定组件上面的组件。
“持久性”标志
描述
-p 更改仅适用于新创建的组件,这些组件是在运行 dumpctrl 命令之后创建的 RAS 基础架构组件。
-P 使得指定更改持久有效。 所作的任何更改在重新启动过程中仍然有效。 如果需要新引导映像,那么会为此生成一条信息来通知您。 -P 标志将应用于组件属性、活动转储的全局启用或禁用、全局活动转储级别、遗传组件的启用或禁用以及系统转储设备规范。
-n 更改应用于现有组件。 -n 标志为缺省值(如果既未指定 -p 也未指定 -P。) 要将更改同时应用于当前组件和新建组件,请使用 -n-p 标志。
-x 删除该持久性规范。 -x 标志用于删除永久 (-P) 持久性规范。 指定该规范的方式必须与最初使用 -P 标志进行指定时的方式相同。

向下递归定制(由 -r 标志指定)优先于所有其他定制,无论指定它们的顺序相对于其他非向下递归定制如何都如此。

如果已创建的定制未知,但您希望复原缺省系统设置,那么可执行下列其中一项操作:
  • 在 "/var/adm/ras/raspertune文件中,删除与定制相关的行,然后运行 "bosboot命令重启AIX
  • 查看 /var/adm/ras/raspertune 文件,以了解指定的相应标志和参数。 然后,使用 -x 标志来删除定制。 运行 bosboot 命令并重新启动 AIX

有关各种转储属性如何与持久性交互的更多信息,请参阅 属性中的实时转储和系统转储属性表。

属性

转储属性的形式可以是:attribute=value。 例如,
dumpctrl dir=/usr/dumps freespc=20
此示例将转储目录设置为 /usr/dumps,并将可用空间阈值设置为 20%。

提供了某些快捷方式,例如 ldmpon 属性,此属性与 ldmpenable=yes 相同。

如果给定了组件,那么会通过使用 RASCD_DMP_PASS_THROUGH 来将未识别的属性传递到这些组件的回调。

下表列示了活动转储属性。

表 1. 活动转储属性和缺省值
属性 规范 缺省值
ldmpenable 指定是否启用活动转储。

可能的值是 yes 和 no。

您可以使用 ldmpon 属性代替 ldmpenable=yes,使用 ldmpoff 属性代替 ldmpenable=no

有关更多信息,请参阅以下注释 1

dir 指定活动转储目录名称。 /var/adm/ras/livedump
freespc 通过使用 0 至 99 之间的十进制值指定活动转储可用空间的阈值。 25(表示 25%)
ldmplevel 通过使用 0 至 9 之间的十进制值指定活动转储级别。

您可以指定 ldmpminimalldmpnormalldmpdetail 属性,而不是 ldmplevel=1, 3, 7

3(标准)

有关更多信息,请参阅以下注释 1

heapsz 通过使用十进制值来指定活动转储堆大小(以兆字节计)。 0

有关更多信息,请参阅以下注释 2

duptype 指定复制转储压缩类型。 以下是可能的值:
  • 全部
  • pre
  • post
全部
maxfreeze 通过使用十进制数来指定建议的最大系统冻结时间间隔(以毫秒计)。 100 ms

下表列示了系统转储属性。

表 2。 系统转储属性和缺省值
属性 规范 缺省值
sdmpenable 指定是否启用系统转储。

可能的值是 yes 和 no。

您还可以指定 sdmponsdmpoff ,而不是 sdmpenable=yessdmpenable=no

有关更多信息,请参阅以下注释 3

legacyenable 指定是否启用转储遗留组件。

可能的值是 yes 和 no。

您还可以指定 legacyonlegacyoff ,而不是 legacyenable=yeslegacyenable=no

sdmplevel 通过使用 0 至 9 之间的十进制值来指定系统转储级别。

您可以指定 sdmpminimalsdmpnormalsdmpdetail 属性,而不是 sdmplevel=1, 3, 7

3(标准)

有关更多信息,请参阅以下注释 4

copydir 指定复制目录路径名称。 /var/adm/ras
forcecopy 指定是否启用 forcecopy 属性。

可能的值是 yes 和 no。

如果必须在引导的同时从分页空间中复制转储并且复制目录中空间不够,那么系统将提示将转储复制到可移动媒介(如果 forcecopy 值是 yes)。 如果此值为 no,那么将不会复制转储,并且系统将正常引导,虽然转储可能丢失。

keyseq 指定键序列是否将造成转储。

可能的值是 yes 和 no。

False
primary 指定主转储设备路径名。 /dev/hd6 或者 /dev/lg_dumplv
secondary 指定辅助转储设备路径名。 /dev/sysdumpnull
注意:
  1. 可以使用或不使用组件指定 ldmpenableldmplevel 属性。 如果不带组件指定,那么属性将应用到相应的全局属性。
  2. heapsz 属性(堆大小)可设置为 0,这意味着,在转储初始化时,系统会计算基于实内存量的活动转储堆大小(最小为 64 MB 和实内存大小的 1/64)。
  3. 当给定 sdmpenable 属性时,必须指定单个组件。 如果没有给定任何组件,那么无法指定 sdmpenable 属性,因为无法禁用系统转储。
  4. 可以带组件或不带组件来指定 sdmplevel 属性。 如果未带组件进行指定,它将应用到系统缺省级别。 其 sdmplevel 值大于全局 sdmplevel 值的组件不会包括在系统转储中。

下表列示了活动转储属性及其持久性。

表 3。 活动转储属性和持久性
属性 描述 持久性
ldmpenable 启用了活动转储 由持久性标志控制,与 -P 标志配合使用时,需要新引导映像。
dir 活动转储目录 在系统重新启动之后立即生效。
freespc 活动转储可用空间的阈值 在系统重新启动之后立即生效。
ldmplevel 活动转储级别 由持久性标志控制,与 -P 标志配合使用时,需要新引导映像。
heapsz 活动转储堆大小 在系统重新启动之后立即生效。
duptype 复制转储禁止类型 在系统重新启动之后立即生效。
maxfreeze 建议的最大系统冻结时间间隔 在系统重新启动之后立即生效。
注: 仅当属性应用于 RAS 基础架构组件时,持久性才会影响这些属性。 持久性还可控制全局活动转储级别和全局启用或禁用状态。

下表列示了系统转储属性及其持久性。

表 4。 系统转储属性和持久性
属性 描述 持久性
sdmpenable 启用了系统转储 由持久性标志控制,与 -P 标志配合使用时,需要新引导映像。
legacyenable 转储遗留组件 使用 -P 标志重新启动系统后立即生效。 与 -P 标志配合使用时,不需要新引导映像。
sdmplevel 系统转储级别 由持久性标志控制,与 -P 标志配合使用时,需要新引导映像。
copydir 复制目录 在系统重新启动之后立即生效。
forcecopy 如果它无法复制,那么会启用引导时间菜单 在系统重新启动之后立即生效。
keyseq 键序列始终促使转储 在系统重新启动之后立即生效。
primary 主转储设备 使用 -P 标志重新启动系统后立即生效。 与 -P 标志配合使用时,不需要新引导映像。
secondary 辅助转储设备 使用 -P 标志重新启动系统后立即生效。 与 -P 标志配合使用时,不需要新引导映像。
注: 持久性在应用于组件时影响属性。

copydir, forcecopy, keyseq, primarysecondary 属性的行为与使用 -d-D-k-K-p-s 标志指定的 sysdumpdev 命令等效。

退出状态

本命令返回以下退出值:

描述
0 成功完成。
非零 发生错误。 该命令在下列情况下会失败:
  • 一个或多个参数无效。
  • 一个或多个属性无效。
  • 无法指定某个组件。
  • 至少必须指定一个组件。
  • 找不到持久性规范。 (在使用 -x 标志时,会发生这种情况。)

安全性

只有 root 用户可以使用此命令。