Solaris 可调参数参考手册

进程大小调整参数

可使用几个参数(或变量)来控制系统上的可用进程数以及单个用户可以创建的进程数。基础参数为 maxusers。此参数确定指定给 max_nprocsmaxuprc 的值。

maxusers

说明

最初,maxusers 定义系统可以支持的登录用户数。生成内核时,将基于该设置调整各种表的大小。当前 Solaris 发行版会基于系统上的内存量执行大量大小调整操作。因此,maxusers 过去的许多用法都已发生更改。仍由 maxusers 派生的许多子参数包括:

  • 系统上的最大进程数

  • 系统中保留的配额结构数

  • 目录名称查找高速缓存 (directory name look-up cache, DNLC) 的大小

数据类型

带符号整数

缺省值

内存量(以 MB 为单位)与 2048 之间的较小值

范围

1 到 2048(如果未在 /etc/system 文件中设置,则基于物理内存设置)

1 到 4096(如果在 /etc/system 文件中设置)

单位

用户

是否为动态

否。计算完相关参数之后,便不再引用 maxusers

验证

何时更改

由系统派生的缺省用户进程数太少时。在这种情况下,系统控制台将显示以下消息:


out of processes

当缺省进程数太多时,也可能要更改此参数,例如以下情况:

  • 减小 maxusers 的缺省值时,具有大量内存但运行的进程相对较少的数据库服务器可以节省系统内存。

  • 如果文件服务器具有大量内存但运行的进程较少,则可能要减小此值。不过,应显式设置 DNLC 的大小。请参见ncsize

  • 如果计算服务器具有大量内存但运行的进程较少,则可能要减小此值。

承诺级别

不稳定

reserved_procs

说明

指定要在进程表中为具有超级用户 UID (0) 的进程保留的系统进程槽数。例如,fsflush 具有超级用户 UID (0)。

数据类型

带符号整数

缺省值

5

范围

5 到 MAXINT

单位

进程

是否为动态

否。计算完初始参数之后便不再使用。

验证

从 Solaris 8 发行版开始,不会忽略任何 /etc/system 设置。

承诺级别

不稳定

何时更改

考虑增加到 10 + 系统上正常 UID 0(超级用户)进程数。当需要获取根 shell,否则系统便无法创建用户级进程时,该设置可提供一定程度的缓解。

pidmax

说明

指定可能的最大进程 ID 值。对 Solaris 8 以及更高发行版有效。

pidmax 设置 maxpid 变量的值。设置 maxpid 之后,便会忽略 pidmaxmaxpid 在内核中的其他位置使用,用于确定最大进程 ID 和进行验证检查。

任何通过向 /etc/system 文件中添加项以设置 maxpid 的尝试都将无效。

数据类型

带符号整数

缺省值

30,000

范围

266 到 999,999

单位

进程

是否为动态

否。仅在引导时用于设置 pidmax 的值。

验证

是。会将此值与 reserved_procs 的值和 999,999 进行比较。如果此值小于 reserved_procs 或大于 999,999,则将其设置为 999,999。

含义

检查 max_nprocs 范围可确保 max_nprocs 始终小于或等于此值。

何时更改

需要在系统上启用对多于 30,000 个进程的支持时。

承诺级别

不稳定

max_nprocs

说明

指定可在系统上创建的最大进程数。包括系统进程和用户进程。使用 /etc/system 中指定的任一值来计算 maxuprc

此值还可用来确定几个其他系统数据结构的大小。此参数还将在以下其他数据结构中起作用:

  • 确定目录名称查找高速缓存的大小(如果未指定 ncsize

  • 为 UFS 分配磁盘配额结构(如果未指定 ndquot

  • 检验已配置的 System V 信号所使用的内存量是否未超过系统限制

  • 为 x86 平台配置硬件地址转换资源。

数据类型

带符号整数

缺省值

10 + (16 x maxusers)

范围

266 到 maxpid 的值

是否为动态

验证

是。将此值与 maxpid 进行比较,如果此值较大,则将其设置为 maxpid。在 x86 平台上,还会根据特定于平台的值进行其他检查。将 max_nprocs 设置为三个值(max_nprocsmaxpid、平台值)中的最小者。SPARC 和 x86 平台都使用 65,534 作为平台值。

何时更改

更改此参数是在系统上启用对多于 30,000 个进程的支持所必需的一步。

承诺级别

不稳定

更改历史记录

有关信息,请参见max_nprocs(Solaris 9 发行版)

maxuprc

说明

指定任一用户可在系统上创建的最大进程数。

数据类型

带符号整数

缺省值

max_nprocs - reserved_procs

范围

1 到 max_nprocs - reserved_procs

单位

进程

是否为动态

验证

是。会将此值与 max_nprocs - reserved_procs 进行比较,并将其设置为这两个值中的较小者。

何时更改

需要对用户可创建的进程数指定硬限制,使其小于系统可创建进程数的缺省值时。尝试超过此限制时,会在控制台上或消息文件中生成以下警告消息:


out of per-user processes for uid N
承诺级别

不稳定