/etc/system 文件中提供了用于调整内核参数值的静态机制。在引导时读取此文件中指定的值,然后进行应用。在重新引导系统之前,对文件所做的任何更改都不会应用到操作系统。
在计算配置参数之前,会进行一遍检查来设置所有值。
以下条目将 ZFS ARC 最大值 (zfs_arc_max) 设置为 30 GB。
set zfs:zfs_arc_max = 0x780000000
假设您公司的名称为 Widget, Inc.。您将此条目存储在 /etc/system.d 目录中的 widget:zfs 中或具有类似名称的文件中。引导系统时,/etc/system.d 中的所有参数配置均将添加到 /etc/system 文件中。之后,根据 /etc/system 中的内容对系统进行配置。
可以使用以下方法之一从不正确的值恢复:
从 /etc/system.d 目录中的配置文件中删除有问题的参数设置。引导时,将使用之前的配置更新 /etc/system 文件,这些配置之后会重新应用到系统。
在更改系统参数之前,请先克隆引导环境。
# beadm create BE-clonename
在应用了对 /etc/system 进行的更改之后,如果当前的 BE 变得不可使用,请重新引导系统。通过 x86 GRUB 菜单或 SPARC 引导菜单,选择该 BE 克隆。在引导完成后,可以选择该激活 BE 克隆,使其成为要在后续系统引导中使用的缺省 BE。
在使用 /etc/system.d 目录中的配置文件中的新参数更新 /etc/system 文件之前,先为该文件制作一个副本,这样可以方便地从不正确的值恢复。例如:
# cp /etc/system /etc/system.good
如果 /etc/system.d 中的配置文件中指定的值导致系统无法引导,则可以通过以下命令进行恢复:
ok boot -a
此命令会导致系统在引导过程中询问使用的各个文件的名称。按回车键来接受缺省值,直到要求输入 /etc/system 文件的名称。当显示 Name of system file [/etc/system]: 提示时,键入正确的 /etc/system 文件的名称或 /dev/null:
Name of system file [/etc/system]: /etc/system.good
如果指定了 /dev/null,则该路径会导致系统尝试从 /dev/null 读取它的配置信息。由于此文件是空的,因此系统将使用缺省值。引导系统后,可更正 /etc/system 文件。
有关系统恢复的更多信息,请参见在 Oracle Solaris 11.2 中排除系统管理问题 。