跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 可调参数参考手册 Oracle Solaris 11 Information Library (简体中文) |
有多个参数(或变量)用于控制系统上的可用进程数以及单个用户可以创建的进程数。基础参数是 maxusers。该参数派生了指定给 max_nprocs 和 maxuprc 的值。
最初,maxusers 定义了系统可以支持的登录用户数。当生成内核时,会基于该设置确定各个表的大小。当前 Oracle 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。
如果计算服务器具有大量内存和较少的正在运行的进程,您可以减小该值。
不稳定
指定在进程表中要为 UID 为 root (0) 的进程保留的系统进程槽数。例如,fsflush 的 UID 为 root (0)。
带符号整数
5
5 - MAXINT
进程
否。在初次参数计算后将不再使用。
将与任何 /etc/system 设置进行匹配。
不稳定
考虑增大到 10 + 系统上的正常 UID 0 (root) 进程数时。当系统没有其他办法创建用户级进程而需要获取 root shell 时,该设置可以提供一定的缓冲。
pidmax 设置 maxpid 变量的值。一旦设置了 maxpid,将会忽略 pidmax。maxpid 在内核的其他位置中用来确定最大进程 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 个以上的进程时。
不稳定
指定可以在系统上创建的最大进程数。包括系统进程和用户进程。在计算 maxuprc 时将使用 /etc/system 中指定的任何值。
在确定多个其他系统数据结构的大小时也将使用该值。需要用到此参数的其他数据结构如下所述:
确定目录名称查找高速缓存的大小(如果未指定 ncsize)
验证所配置的系统 V 信号使用的内存量没有超出系统限制
为 x86 平台配置硬件地址转换资源。
带符号整数
10 + (16 x maxusers)
266 - maxpid 的值
否
是。该值将与 maxpid 进行比较,如果它大于后者,则该值将设置为 maxpid。在 x86 平台上,将针对特定于平台的值进行额外检查。max_nprocs 设置为以下三个值中的最小值:max_nprocs、maxpid、平台值。SPARC 和 x86 平台使用 65,534 作为平台值。
更改此参数是在系统上支持 30,000 个以上的进程所需的步骤之一。
不稳定
带符号整数
max_nprocs - reserved_procs
1 - (max_nprocs - reserved_procs)
进程
否
是。该值将与 (max_nprocs - reserved_procs) 进行比较并设置为这两个值中的较小值。
当您希望为用户可以创建的进程数指定的硬限制小于系统可以创建的缺省进程数时。任何超出该限制的尝试将在控制台上或在消息文件中生成以下警告消息:
out of per-user processes for uid N
不稳定