运行时参数

这些参数可以使用no-o命令或no-d命令设置,并立即生效。

如果用户尝试使用 no 命令将装入时间参数设置为其缺省值或新值,那么将返回错误。 no-a 参数no-o 参数命令显示参数的当前值。

运行时参数如下所示:
描述
strmsgsz 指定单个系统调用可以传递到要放入消息的数据部分 (以 M_DATA 块计) 的 STREAM 的最大字节数。 任何超过此大小的 write 子例程都将被分解为多条消息。 数据部分超过此大小的 putmsg 子例程将无法返回 ERANGE 错误代码。 缺省值为 0。
strctlsz 指定单个系统调用可以传递到要放入消息控制部分 (在 M_PROTO 或 M_PCPROTO 块中) 的 STREAM 的最大字节数。 控制部分超过此大小的 putmsg 子例程将无法返回 ERANGE 错误代码。 缺省值为 1024。
strthresh 指定允许分配的最大字节数 STREAMS。 当超过阈值时,将不允许没有相应特权的用户打开 STREAMS ,推送模块或写入 STREAMS 设备。 返回 ENOSR 错误代码。 该阈值仅适用于输出端; 因此,进入系统的数据不受影响并继续正常工作。 值 0 指示没有阈值。

strthresh 参数表示 thewall 参数值的百分比,其值可以设置在 0 到 100 之间 (包括此值)。 thewall 参数指示 STREAMS 和套接字可使用 net_malloc 子例程分配的最大字节数。 用户可以使用 no 命令更改 thewall 参数的值。 当用户更改 thewall 参数的值时,将相应地更新阈值。 缺省值为 85 ,表示阈值为 thewall 参数值的 85%。

psetimers 指定已分配的最大计时器数。 在操作系统中, STREAM 子系统在初始化时分配一定数量的计时器结构,因此 STREAMS 驱动程序或模块可以注册 timeout 请求。 在系统重新引导之前,不允许降低此值,此时系统将返回到其缺省值。 缺省值为 20。
psebufcalls 指定分配的最大 buf调用数 。 在操作系统中, STREAM 子系统在初始化时分配特定数目的 bufcall 结构。 当 allocb 子例程失败时,用户可以注册 bufcall 子例程的请求。 在系统重新引导之前,不允许降低此值,此时系统将返回到其缺省值。 缺省值为 20。
strturncnt 指定当前正在运行的线程为模块或其他级别的 STREAMS 同步处理的最大请求数。 模块级同步的工作方式是,在任何给定时间,只有一个线程可以在模块中运行,所有其他尝试获取同一模块的线程将其请求排队并退出。 在当前正在运行的线程完成其工作后,它会将先前排队的所有请求一次排入一个队列并启动这些请求。 如果列表中有大量请求排队,那么当前正在运行的线程必须为每个人提供服务。 为了消除此问题,当前正在运行的线程仅提供 strturncnt 数目的线程。 在此之后,单独的内核线程将启动所有暂挂请求。 缺省值为 15。
低阈值 指定 thewall 参数使用 allocb 为 BPRI_LO 优先级分配的最大字节数 (以百分比计)。 当 net_malloc 子例程分配的内存总量达到此阈值时,针对 BPRI_LO 优先级的 allocb 请求将返回 0。 可以将 lowthresh 参数设置为 0 到 100 之间的任何值 (包括此值)。 缺省值为 90 ,指示阈值为 thewall 参数值的 90%。
medthresh 指定 thewall 参数使用 allocb 为 BPRI_MED 优先级分配的最大字节数 (以百分比计)。 当 net_malloc 子例程分配的内存总量达到此阈值时,针对 BPRI_MED 优先级的 allocb 请求将返回 0。 可以将 medthresh 参数设置为 0 到 100 之间的任何值 (包括此值)。 缺省值为 95 ,指示阈值为 thewall 参数值的 95%。