Skip Navigation Links | |
Exit Print View | |
Oracle Solaris Tunable Parameters Reference Manual Oracle Solaris 10 8/11 Information Library |
1. Overview of Oracle Solaris System Tuning
What's New in Oracle Solaris System Tuning?
Oracle Solaris System Tuning in the Solaris 10 Release
New and Changed TCP/IP Parameters
SPARC: Translation Storage Buffer (TSB) Parameters
Tuning an Oracle Solaris System
Tuning Format of Tunable Parameters Descriptions
Tuning the Oracle Solaris Kernel
Example--Setting a Parameter in /etc/system
Special Oracle Solaris tune and var Structures
Viewing Oracle Solaris System Configuration Information
2. Oracle Solaris Kernel Tunable Parameters
4. Internet Protocol Suite Tunable Parameters
5. Network Cache and Accelerator Tunable Parameters
A. Tunable Parameters Change History
The following table describes the different ways tunable parameters can be applied.
|
The /etc/system file provides a static mechanism for adjusting the values of kernel parameters. Values specified in this file are read at boot time and are applied. Any changes that are made to the file are not applied to the operating system until the system is rebooted.
One pass is made to set all the values before the configuration parameters are calculated.
The following /etc/system entry sets the ZFS ARC maximum (zfs_arc_max) to 30 GB.
set zfs:zfs_arc_max = 0x780000000
Make a copy of the /etc/system file before modifying it so that you can easily recover from incorrect value. For example:
# cp /etc/system /etc/system.good
If a value specified in the /etc/system file causes the system to become unbootable, you can recover with the following command:
ok boot -a
This command causes the system to ask for the name of various files used in the boot process. Press the Return key to accept the default values until the name of the /etc/system file is requested. When the Name of system file [/etc/system]: prompt is displayed, type the name of the good /etc/system file or /dev/null:
Name of system file [/etc/system]: /etc/system.good
If /dev/null is specified, this path causes the system to attempt to read from /dev/null for its configuration information. Because this file is empty, the system uses the default values. After the system is booted, the /etc/system file can be corrected.
For more information on system recovery, see System Administration Guide: Basic Administration.
kmdb is a interactive kernel debugger with the same general syntax as mdb. An advantage of interactive kernel debugger is that you can set breakpoints. When a breakpoint is reached, you can examine data or step through the execution of kernel code.
kmdb can be loaded and unloaded on demand. You do not have to reboot the system to perform interactive kernel debugging, as was the case with kadb.
For more information, see kmdb(1).
The modular debugger, mdb, is unique among Solaris debuggers because it is easily extensible. A programming API is available that allows compilation of modules to perform desired tasks within the context of the debugger.
mdb also includes a number of desirable usability features, including command-line editing, command history, built-in output pager, syntax checking, and command pipelining. mdb is the recommended post-mortem debugger for the kernel.
For more information, see mdb(1).
Display a high-level view of a system's memory usage. For example:
# mdb -k Loading modules: [ unix genunix specfs dtrace zfs sd pcisch sockfs ip hook neti sctp arp usba fcp fctl md lofs cpc random crypto fcip nca logindmux ptm ufs sppp nfs ] > ::memstat Page Summary Pages MB %Tot ------------ ---------------- ---------------- ---- Kernel 95193 743 37% ZFS File Data 96308 752 38% Anon 28132 219 11% Exec and libs 1870 14 1% Page cache 1465 11 1% Free (cachelist) 4242 33 2% Free (freelist) 28719 224 11% Total 255929 1999 Physical 254495 1988 > $q
For more information on using the modular debugger, see the Solaris Modular Debugger Guide.
When using either kmdb or mdb debugger, the module name prefix is not required. After a module is loaded, its symbols form a common name space with the core kernel symbols and any other previously loaded module symbols.
For example, ufs:ufs_WRITES would be accessed as ufs_WRITES in each debugger (assuming the UFS module is loaded). The ufs: prefix is required when set in the /etc/system file.