在 Oracle® Solaris 11.2 中排除系统管理问题

退出打印视图

更新时间: 2014 年 9 月
 
 

修改故障转储配置

要修改故障转储配置,需要成为 root 角色并使用 dumpadm 命令。

dumpadm 命令的语法如下:

#  /usr/sbin/dumpadm [-nuy] [-c content-type] [-d dump-device] [-m mink | minm | min%]
[-s savecore-dir] [-r root-dir] [-z on | off]
–c content-type

指定要转储的数据类型。对于 Oracle Solaris 11.2 发行版,此选项的值已更改。使用 kernel 仅转储内核内存页,all 转储所有内存页,curproc 转储内核内存以及在发生崩溃时其线程正在执行的进程的内存页,allproc 转储内核内存页和所有进程页,zfs 转储用于存储 ZFS 元数据的内核页。缺省转储内容是内核内存。

请参见 –c 选项的以下示例:

# dumpadm -c kernel
# dumpadm -c +zfs
# dumpadm -c -zfs
# dumpadm -c curproc+zfs
–d dump-device

指定在系统崩溃时临时存储转储数据的设备。主转储设备即为缺省转储设备。当转储设备不是交换区域时,savecore 将在后台运行,这样可以加快引导过程进行的速度。

–e

输出存储压缩的故障转储所需的磁盘空间估计值。该值是使用当前配置和当前运行的系统计算的。

–m mink | minm | min%

通过在当前的 savecore 目录中创建 minfree 文件,指定用于保存故障转储文件的最小空闲磁盘空间。可以 KB (mink)、MB (minm) 或文件系统大小百分比 (min%) 的形式指定此参数。如果未配置最小空闲空间,则缺省值为 1 MB。

savecore 命令会在写入故障转储文件之前访问此文件。如果写入故障转储文件会由于其大小而减少空闲空间量并使其低于 minfree 阈值,则不写入转储文件,并记录一条错误消息。有关从此情况中进行恢复的信息,请参见在故障转储目录已满时保存数据

–n

指定重新引导系统时不应运行 savecore。不推荐使用此转储配置。如果已将系统故障转储信息写入交换设备并且未启用 savecore,则系统开始交换时将覆盖故障转储信息。

–p

生成计算机可解析的输出。

–s savecore-dir

指定用于存储故障转储文件的备用目录。在 Oracle Solaris 11 中,缺省目录为 /var/crash

–u

强制更新基于 /etc/dumpadm.conf 文件内容的内核转储配置。

–y

修改转储配置以在重新引导时自动执行 savecore 命令,即此转储设置的缺省值。

–z on | off

修改转储配置以控制重新引导时 savecore 命令的操作。on 设置允许以压缩格式保存核心文件。off 设置会自动解压缩故障转储文件。由于故障转储文件可能非常大,而以压缩格式保存这些文件将需要较少的文件系统空间,因此缺省值为 on

示例 1-1  修改故障转储配置

在此示例中,所有内存都将转储到专用转储设备 /dev/zvol/dsk/rpool/dump,在保存故障转储文件后可用的最小空闲空间必须为 10% 的文件系统空间。

# dumpadm
      Dump content: kernel pages
       Dump device: /dev/zvol/dsk/rpool/dump (dedicated)
Savecore directory: /var/crash
  Savecore enabled: yes
   Save compressed: on

# dumpadm -c all -d /dev/zvol/dsk/rpool/dump -m 10%
       Dump content: all pages
       Dump device: /dev/zvol/dsk/rpool/dump (dedicated)
Savecore directory: /var/crash (minfree = 5697105KB)
  Savecore enabled: yes
   Save compressed: on