系统管理指南:高级管理

Procedure如何修改故障转储配置

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 确定当前的故障转储配置。


    # dumpadm
          Dump content: kernel pages
           Dump device: /dev/dsk/c0t3d0s1 (swap)
    Savecore directory: /var/crash/pluto
     Savecore enabled: yes
    	 Save commpressed: on

    此输出标识了运行 Oracle Solaris 10 发行版的系统的缺省转储配置。

  3. 修改故障转储配置。


    #  /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

    指定要转储的数据类型。使用 kernel 转储所有内核内存,使用 all 转储所有内存,或使用 curproc 转储内核内存以及在发生崩溃时其线程正在执行的进程的内存页面。缺省转储内容是内核内存。

    -d dump-device

    指定在系统崩溃时临时存储转储数据的设备。主交换设备是缺省转储设备。

    -m nnnk | nnnm | nnn%

    通过在当前的 savecore 目录中创建 minfree 文件,指定用于保存故障转储文件的最小空闲磁盘空间。可以 KB (nnnk)、MB (nnnm) 或文件系统大小百分比 (nnn%) 的形式指定此参数。savecore 命令会在写入故障转储文件之前访问此文件。如果写入故障转储文件(根据大小)会减少空闲空间量并使其低于 minfree 阈值,则不写入转储文件,并记录一条错误消息。有关从此情况中恢复的信息,请参见如何从完整的故障转储目录中恢复(可选)

    -n

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

    -s

    指定用于存储故障转储文件的备用目录。缺省目录为 /var/crash/hostname,其中 hostnameuname -n 命令的输出。

    -u

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

    -y

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

    -z on | off

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


示例 17–1 修改故障转储配置

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


# dumpadm
      Dump content: kernel pages
       Dump device: /dev/dsk/c0t3d0s1 (swap)
Savecore directory: /var/crash/pluto
  Savecore enabled: yes
   Save compressed: on
 # dumpadm -c all -d /dev/dsk/c0t1d0s1 -m 10%
      Dump content: all pages
       Dump device: /dev/dsk/c0t1d0s1 (dedicated)
Savecore directory: /var/crash/pluto (minfree = 77071KB)
  Savecore enabled: yes
    Save compressed: on