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

文档信息

前言

1.  Oracle Solaris 系统调优概述

2.  Oracle Solaris 内核可调参数

何处查找可调参数信息

常规内核及内存参数

physmem

zfs_arc_min

zfs_arc_max

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

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 系统的参数

consistent_coloring

tsb_alloc_hiwater_factor

default_tsb_size

enable_tsb_rss_sizing

tsb_rss_factor

地址组参数

lpg_alloc_prefer

lgrp_mem_default_policy

lgrp_mem_pset_aware

3.  NFS 可调参数

4.  Internet 协议套件可调参数

5.  网络高速缓存和加速器可调参数

6.  系统工具参数

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

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

索引

fsflush 和相关参数

本节介绍了 fsflush 和相关的可调参数。

fsflush

系统守护进程 fsflush 会定期运行来执行三个主要任务:

  1. 每次调用时,fsflush 都会将存在时间超过指定期限的脏文件系统页刷新到磁盘。

  2. 每次调用时,fsflush 都会检查内存的一部分,并促使已修改的页写入它们的后备存储。如果页已修改并且不符合以下某个条件,则会被写入:

    • 页是内核页

    • 页是空闲的

    • 页被锁定

    • 页与某个交换设备相关联

    • 页当前参与了某个 I/O 操作

    实际结果是将刷新文件中通过 mmap 以写权限映射的页以及已实际更改的页。

    页将刷新到后备存储中,但是保持附加到使用它们的进程。这样,如果页自刷新以来未进行修改,可以通过避免在声明页之前延迟将页写入后备存储,因而当系统在内存不足情况下运行时,这将可以简化页回收。

  3. fsflush 将文件系统元数据写入到磁盘。写入是在每个第 n 次调用时执行的,其中 n 是根据各种配置变量计算得出的。有关详细信息,请参见tune_t_fsflushrautoup

以下功能是可配置的:

对于大多数系统,内存扫描和文件系统元数据同步是 fsflush 的主要活动。根据系统使用情况,内存扫描可能只使用很少 CPU 时间,也可能会占用太多的 CPU 时间。

tune_t_fsflushr

说明

指定 fsflush 调用之间的秒数

数据类型

带符号整数

缺省值

1

范围

1 - MAXINT

单位

动态?

验证

如果该值小于或等于零,则该值将重置为 1 并显示一条警告消息。此检查仅在引导时执行。

何时更改

请参见 autoup 参数。

交付级别

不稳定

autoup

说明

tune_t_flushr 配合使用时,autoup 控制每次调用中查找脏页时要检查的内存量以及文件系统同步操作的频率。

autoup 的值还用于控制是否从空闲表写出缓冲区。如果缓冲区标有 B_DELWRI 标志(它标识已更改的文件内容页),只要该缓冲区位于列表中的时间已超过 autoup 秒,就将写出该缓冲区。增大 autoup 的值会将缓冲区在内存中保留更长时间。

数据类型

带符号整数

缺省值

30

范围

1 - MAXINT

单位

动态?

验证

如果 autoup 小于或等于零,则会将其重置为 30 并显示一条警告消息。此检查仅在引导时执行。

隐式

autoup 应该是 tune_t_fsflushr 的整数倍。autoup 应该至少是 tune_t_fsflushr 的值的 6 倍。如果不是这样,每次调用 fsflush 时都会扫描大量内存。

要使得在 dopageflush 为非零值时对内存进行检查,总系统页数乘以 tune_t_fsflushr 应该大于或等于 autoup

何时更改

下面是更改 autoup tune_t_fsflushr 或这两者的几种可能情况:

  • 系统具有大量内存-在这种情况下,增大 autoup 可以减少每次调用 fsflush 时扫描的内存量。

  • 系统具有最低内存需求-同时增大 autouptune_t_fsflushr 可以减少执行的扫描数。要保持 autoup / tune_t_fsflushr 的当前比率,也应增大 autoup

  • 具有大量瞬态文件的系统(例如,邮件服务器或软件生成计算机)-如果创建了大量文件,然后将其删除,fsflush 可能会将这些文件的数据页写入磁盘,但这是不必要的。

交付级别

不稳定

dopageflush

说明

控制在 fsflush 调用期间是否检查内存以查找已修改的页。每次调用 fsflush 时,都将确定系统中的物理内存页数。该数值可能已经因为某个动态重新配置操作而改变。每次调用在扫描时将使用以下算法:总页数 x tune_t_fsflushr / autoup 页数

数据类型

带符号整数

缺省值

1(启用)

范围

0(禁用)或 1(启用)

单位

切换(开/关)

动态?

验证

何时更改

如果系统页扫描程序极少运行(由 vmstat 输出的 sr 列中的 0 值予以指示)。

交付级别

不稳定

doiflush

说明

控制在 fsflush 调用期间是否要执行文件系统元数据同步。此同步是在 fsflush 的每个第 N 次调用时执行的,其中 N = (autoup / tune_t_fsflushr)。因为此算法是整数除法,代码会进行检查以查看其迭代计数器的值是否大于或等于 N,所以如果 tune_t_f flushr 大于 autoup,则每次调用 sf ush 时都将执行同步。请注意,只会在调用 fsflush 时对 N 计算一次。随后对 tune_t_fsflushrautoup 的更改对同步操作的频率没有影响。

数据类型

带符号整数

缺省值

1(启用)

范围

0(禁用)或 1(启用)

单位

切换(开/关)

动态?

验证

何时更改

一段期间内频繁修改文件且刷新导致的负载干扰了系统行为时。

如果系统重新引导能够更好地保留在某个 TMPFS 文件系统(例如 /tmp)中,则那些文件的存在及其状态一致性也不再会造成问题。通过使用 mount -noatime 选项,可以减少系统上的 inode 通信。此选项使得在访问文件时不进行 inode 更新。

对于参与实时处理的系统,您可能希望禁用此选项并使用显式应用程序文件同步来获得一致性。

交付级别

不稳定