JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 11.1 可调参数参考手册     Oracle Solaris 11.1 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  Oracle Solaris 系统调优概述

2.  Oracle Solaris 内核可调参数

何处查找可调参数信息

常规内核及内存参数

physmem

default_stksize

lwp_default_stksize

logevent_max_q_sz

segkpsize

noexec_user_stack

fsflush 和相关参数

fsflush

tune_t_fsflushr

autoup

dopageflush

doiflush

进程大小调整参数

maxusers

reserved_procs

pidmax

max_nprocs

maxuprc

ngroups_max

分页相关参数

lotsfree

desfree

minfree

throttlefree

pageout_reserve

pages_pp_maximum

tune_t_minarmem

fastscan

slowscan

min_percent_cpu

handspreadpages

pages_before_pager

maxpgio

与交换相关的参数

swapfs_reserve

swapfs_minfree

内核内存分配器

kmem_flags

kmem_stackinfo

常规驱动程序参数

moddebug

ddi_msix_alloc_limit

网络驱动程序参数

igb 参数

mr_enable

intr_force

ixgbe 参数

tx_queue_number

rx_queue_number

intr_throttling

rx_limit_per_intr

tx_ring_size

rx_ring_size

tx_copy_threshold

rx_copy_threshold

常规 I/O 参数

maxphys

rlim_fd_max

rlim_fd_cur

常规文件系统参数

ncsize

dnlc_dir_enable

dnlc_dir_min_size

dnlc_dir_max_size

dnlc_dircache_percent

TMPFS 参数

tmpfs:tmpfs_maxkmem

tmpfs:tmpfs_minfree

伪终端

pt_cnt

pt_pctofmem

pt_max_pty

STREAMS 参数

nstrpush

strmsgsz

strctlsz

System V 消息队列

System V 信号

System V 共享内存

segspt_minfree

调度

disp_rechoose_interval

计时器

hires_tick

timer_max

特定于 SPARC 系统的参数

tsb_alloc_hiwater_factor

default_tsb_size

enable_tsb_rss_sizing

tsb_rss_factor

地址组参数

lpg_alloc_prefer

lgrp_mem_pset_aware

3.  Oracle Solaris ZFS 可调参数

4.  NFS 可调参数

5.  Internet 协议套件可调参数

6.  系统工具参数

A.  可调参数变更历史记录

B.  本手册的修订历史记录

索引

内核内存分配器

Oracle Solaris 内核内存分配器在内核中分布内存块以供客户机使用。分配器创建大小不同的的许多高速缓存供其客户机使用。客户机还可以请求分配器创建高速缓存以供其自己使用(例如,分配特定大小的结构)。可以使用 kstat -c kmem_cache 命令查看分配器管理的每个高速缓存的相关统计信息。

有时,系统可能因为内存损坏而崩溃。内核内存分配器支持一个调试接口(一组标志),该接口对缓冲区执行各种完整性检查。内核内存分配器还收集关于分配器的信息。通过完整性检查,可以在错误实际发生之前检测到这些错误。收集的信息在支持人员尝试查明崩溃原因时为他们提供一些额外数据。

使用这些标志会导致在系统操作过程中产生额外的系统开销和内存使用情况。仅当怀疑发生了内存损坏问题时才应使用这些标志。

kmem_flags

说明

Oracle Solaris 内核内存分配器具有各种调试和测试选项。

下面介绍了五个受支持的标志设置。

标志
设置
说明
AUDIT
0x1
分配器维护着一个日志,其中包含其最近的活动历史记录。所记录的项数取决于是否还设置了 CONTENTS。日志的大小是固定的。当空间耗尽时,将回收早期的记录。
TEST
0x2
分配器将某个模式写入已释放的内存,并在下次分配缓冲区时检查该模式是否保持未变。如果缓冲区的某些部分已更改,则先前分配并释放了该缓冲区的客户机可能已使用了内存。如果检测到覆盖,系统将会崩溃。
REDZONE
0x4
分配器在所请求的缓冲区末尾提供额外的内存并在该内存中插入一个特殊模式。当缓冲区被释放时,会检查该模式以查看写入数据时是否超出了缓冲区末尾。如果检测到覆盖,内核将会崩溃。
CONTENTS
0x8
当缓冲区被释放时,分配器记录最多 256 字节的缓冲区内容。该标志要求同时设置 AUDIT

这些标志的数值可按逻辑方式加在一起并通过 /etc/system 文件进行设置。

LITE
0x100
分配和释放缓冲区时执行最小完整性检查。启用了此标志时,分配器会检查是否尚未写入到红色区域中、已释放的缓冲区是否未被再次释放以及正在释放的缓冲区是否为已分配的大小。不要将此标志与任何其他标志组合使用。
数据类型

带符号整数

缺省值

0(禁用)

范围

0(禁用)或 1 - 15 或 256 (0x100)

动态?

是。运行时所做的更改仅影响新的内核内存高速缓存。在系统初始化后,极少会创建新的高速缓存。

验证

何时更改

怀疑发生内存损坏时。

交付级别

不稳定

kmem_stackinfo

说明

如果创建内核线程时在 /etc/system 中启用了 kmem_stackinfo 变量,将会以特定模式填充内核线程栈,而不是用零填充。在内核线程执行过程中,此内核线程栈模式将被逐步覆盖。从栈顶部开始直到找不到该模式为止,一个简单计数会提供一个高水位值,该值是内核线程使用的最大内核栈空间。该机制允许以下功能:

  • 计算实际为系统中的当前内核线程使用的内核线程栈所占的百分比(高水位)

  • 当某个内核线程结束时,对于最后那些在终止前已使用了其大部分内核线程栈的内核线程,系统会将其记录到一个小的循环内存缓冲区中

数据类型

无符号整数

缺省值

0(禁用)

范围

0(禁用)或 1(启用)

动态?

验证

何时更改

当您希望监视内核线程栈使用情况时。请记住,当启用了 kmem_stackinfo 时,创建和删除 kthreads 时的性能会降低。有关更多信息,请参见《Oracle Solaris Modular Debugger Guide》中的第 5  章 "Built-In Commands"

区域配置

此参数必须在全局区域中设置。

交付级别

不稳定