 |
Index for Section 5 |
|
 |
Alphabetical listing for S |
|
 |
Bottom of page |
|
sys_attrs_proc(5)
NAME
sys_attrs_proc - system attributes for the proc kernel subsystem
DESCRIPTION
This reference page describes system attributes for the Process (proc)
kernel subsystem. See sys_attrs(5) for an introduction to system
attributes.
Do not edit the system configuration file to directly change the value of
system parameters; use the dxkerneltuner application, the /sbin/sysconfig
-r command, or the sysconfigdb command to make such changes. See
dxkerneltuner(8), sysconfig(8), and sysconfigdb(8) for more information
about your options for configuring kernel subsystems.
Attributes whose names are preceded by an asterisk(*) can be modified at
run time.
autonice
A value that enables (1) or disables (0) the ability of applications
that use more than 600 seconds of CPU time to automatically increase
their nice values (that is, lower their scheduling priorities).
Default value: 0 (disabled)
autonice_penalty
The nice value that is assigned to a process after it has used an
amount of CPU time that exceeds the value of the autonice_time
attribute.
Default value: 4
Minimum value: 0
Maximum value: 20
autonice_time
The amount of CPU time, in seconds, that a process can use before it is
assigned the nice value that is specified by the autonice_penalty
attribute.
Default value: 600 (seconds)
Minimum value: 0
Maximum value: 86,400
* dump_cores
A value that enables (1) or disables (0) the ability of user processes
to create core dumps. If disabled (0), this attribute can prevent some
denial-of-service attacks that are possible if the core file and the
directory where it is written are inadequately protected and a
privileged user is running the program. By default, many applications
dump core files to the directory from which the user invoked the
program. If a privileged user invoked such a program from a world-
writeable directory, such as /tmp, the /tmp/core pathname could be
spoofed into creating or overwriting a file in a privileged location.
Default value: 1 (enabled)
Because core files provide important debugging information to
application maintainers, it is recommended that this attribute be set
to 0 (disabled) only if the system is subject to denial-of-service
attacks.
This attribute can be modified at run time.
Note that programs can control the location of core files by using the
setsysinfo() call with an SSI_COREDIR request. See setsysinfo(2) for
more information.
* dump_setugid_cores
A value that enables (1) or disables (0) the ability of applications
running in setuid/setgid mode to dump core.
Default value: 0 (disabled)
Core dumps from processes of applications running in setuid/setgid mode
can contain sensitive information that might be used to compromise
system security. It is recommended that this attribute be set to 1
(enabled) only for purposes of application debugging and then returned
to 0 (the default) after the application is debugged.
This attribute can be modified at run time.
* enhanced_core_max_versions
The maximum number of unique core files that a program can create on a
host system.
Default value: 16 (files)
Minimum value: 1
Maximum value: 99,999
This attribute can be modified at run time.
* enhanced_core_name
A value that enables (1) or disables (0) creation of multiple versions
of core files. If this attribute is set to 0, an existing core file
will be overwritten when a new one is created.
Default value: 0 (disabled)
This attribute can be modified at run time.
* exec_disable_arg_limit
A value that enables (1) or disables (0) a limit on the number of
arguments that a command can have when it executes. When
exec_disable_arg_limit is set to one, there is no limit on the number
of command arguments other than a memory restriction imposed by the
user program stack size.
Default value: 0 (hard limit enforced)
This attribute can be modified at run time. It is recommended that you
set exec_disable_arg_limit to 1. The default value is in place because
industry standards currently require not only that a hard limit be
accessible to any programs executing a command but also that an error
be returned to the program when this limit is reached. When
exec_disable_arg_limit is set to 1, the operating system does not
return an error because there is no hard limit to enforce. Most
programs that conform to industry standards will continue to execute
correctly if this error is not returned.
* executable_stack
A value that allows (1) or disallows (0) execute privilege on the user
program stack for programs that would otherwise have this privilege.
Disallowing execute privilege on the user program stack enhances system
security but does not affect normal programs.
Default value: 0 (disallowed)
This attribute can be modified at run time. Although certain
applications may require the program stack to be executable, it is
strongly recommended that you set executable_stack to 1 only on systems
(such as those behind firewalls) that are not vulnerable to security
violations.
give_boost
A value that enables (1) or disables (0) booting the priority of
processes that have recently awakened from a block I/O operation.
Setting this attribute to 1 reduces I/O latency and may make the system
more responsive.
Default value: 1 (enabled)
max_per_proc_address_space
Maximum amount, in bytes, of user process address space.
Default value: 4,294,967,296 (bytes)
Minimum value: 0
Maximum value: 4,398,046,511,104
max_per_proc_data_size
Maximum size, in bytes, of a data segment for each process.
Default value: 1,073,741,824 (bytes)
Minimum value: 0
Maximum value: 4,398,046,511,104
max_per_proc_stack_size
Maximum size, in bytes, of a user process stack.
Default value: 33,554,432 (bytes)
Minimum value: 0
Maximum value: 4,398,046,511,104
max_proc_per_user
Maximum number of processes (tasks) that a user can create. (The
superuser is not affected.)
Default value: 256 (processes)
Minimum value: 0
Maximum value: 524,287
If you specify 0 for this attribute, the system does not check how many
processes a user creates.
max_threads_per_user
Maximum limit of threads a user can create. (The superuser is not
affected.)
Default value: 1024 (threads)
Minimum value: 0
Maximum value: LONG_MAX
If you specify 0 for this attribute, the system does not check how many
threads a user creates.
* maxusers
Number of simultaneous users that a system can support without
straining system resources. System algorithms use the maxusers value
to size various system data structures and to determine the amount of
space allocated to system tables, such as the system process table.
Default value: System dependent
Minimum value: 8 (users)
Maximum value: 16,384
Increasing the value of the maxusers attribute allocates more system
resources to the kernel. However, it also increases the amount of
physical memory consumed by the kernel. Changing the value of the
maxusers attribute automatically adjusts the values of other
attributes, including the taskmax, threadmax, and min_free_vnodes
attributes if you have not explicitly overridden the default values for
those attributes.
The maxusers value can be increased at run time. It can be decreased
only at boot time.
ncallout_alloc_size
Minimum amount of memory that can be used for timeout tables. The value
of this attribute is automatically adjusted.
Do not modify the default setting for this attribute unless instructed
to do so by support personnel or by patch kit documentation.
num_timeout_hash_queues
The number of callout tables. This number determines the size of the
hash table for timeout queues.
Default value: The number of process slots divided by 32
Do not modify the default setting for this attribute unless instructed
to do so by support personnel or by patch kit documentation.
num_wait_queues
The size of the hash table for the wait queue.
Default value: The number of process slots divided by 32
Minimum value: 64
Maximum value: 262,143
open_max_hard
Hard limit for the number of file descriptors for each process.
Default value: The value of OPEN_MAX_SYSTEM, which is 4096 (file
descriptors)
Minimum value: 0
Maximum value: 65,536
If the number of file descriptors reaches the value of the
open_max_hard attribute or higher, the process is stopped. The value
for this limit can be increased only in a program. Use the
getdtablesize() system call to obtain the total number of file
descriptors in a process' descriptor table. You can determine the
current open_max_hard limit by using the getrlimit() system call and
increase the hard limit for a process by using the setsysinfo()
function with the SSI_FD_NEWMAX option.
open_max_soft
The soft limit for the number of file descriptors for a process.
Default value: The 4096 (file descriptors)
Minimum value: 0
Maximum value: open_max_hard
When the open_max_soft limit is reached, a warning message is issued.
Use the getdtablesize() system call to obtain the total number of file
descriptors in a process' descriptor table. You can determine the
open_max_hard and open_max_soft limits by using the getrlimit() system
call and increase the soft limit for a process up to its hard limit by
using the setrlimit() system call.
per_proc_address_space
The maximum amount, in bytes, of user process address space.
Default value: 4,294,967,296 (bytes)
Minimum value: 0
Maximum value: 4,398,046,511,104
per_proc_data_size
Current maximum size, in bytes, of a data segment for each process.
Default value: 134,217,728 (bytes)
Minimum value: 0
Maximum value: 4,398,046,511,104
per_proc_stack_size
The maximum size, in bytes, of a user process stack.
Default value: 8,388,608 (bytes)
Minimum value: 0
Maximum value: 4,398,046,511,104
round_robin_switch_rate
A value that determines (per second of CPU time) the number of context
switches that can occur between processes with the same priority and
the timeslice allotted to each process.
Default value: 0 (100 context switches per second)
Minimum value: 0
Maximum value: hz
The system uses the following formula to compute timeslice:
timeslice = hz / number_context_switches
The hz value is the timer interrupt frequency (hertz) for one second of
CPU time. This value is dependent on hardware and is typically 1024 or
1200. (To determine the hz value on a particular system, programmers
can use the getsysinfo() call with GSI_CLK_TCK as the op parameter.)
If round_robin_switch_rate is either 0 (zero) or greater than hz, the
system uses 100 for number_context_switches. For example, if hz is
1024, the resulting timeslice is 10 milliseconds, and if hz is 1200,
the resulting timeslice is 12 milliseconds:
timeslice = 1024 / 100 = 10
timeslice = 1200 / 100 = 12
If round_robin_switch_rate is greater than zero and less than or equal
to hz, then number_context_switches is set to round_robin_switch_rate.
For example, changing round_robin_switch_rate from 0 to 20 decreases
the number of context switches and increases timeslice by a factor of
five:
timeslice = 1024 / 20 = 51
timeslice = 1200 / 20 = 60
Context switching carries a certain amount of CPU overhead. If a CPU
consistently handles many large jobs that do not complete quickly, a
larger timeslice (and fewer context switches) may improve throughput.
However, the tradeoff is reduced response time for any interactive
processes that the CPU handles.
sched_min_idle
Time, in clock ticks, that a thread must remain idle on a
multiprocessor system before it is eligible to migrate to another
processor.
Default value: 0 (clock ticks)
Minimum value: 0
Maximum value: INT_MAX
This attribute is used to tune the soft affinity algorithm on
multiprocessor systems. Soft affinity enables a process to stay where
it last ran, and thereby optimize its use of any data or instructions
that it had brought into cache memory. The sched_min_idle attribute is
used only on multiprocessor systems; it has no effect on single-CPU
systems.
SEE ALSO
Commands: dxkerneltuner(8), sysconfig(8), sysconfigdb(8)
Others: sys_attrs(5)
System Configuration and Tuning
 |
Index for Section 5 |
|
 |
Alphabetical listing for S |
|
 |
Top of page |
|