Tune the kernel parameters, which are required for operation.
For Solaris kernel parameters required tuning, their values, and how to set the values, refer to the following description.
There are two different tuning methods: writing to /etc/system files and writing to /etc/project files. Implement one of these tuning methods as suitable for the installation environment.
Tuning using /etc/project : Refer to Solaris 10 and Solaris 11 (tuning using /etc/project)
Tuning using /etc/system : Refer to Solaris 9, Solaris 10, and Solaris 11 (tuning using /etc/system)
Tuning using /etc/system : Refer to Solaris 9, Solaris 10, and Solaris 11 (tuning using /etc/system)
Note
If the parameters listed in Table have already been set, perform the following. For a parameter listed with a "Maximum value" in the "Standard configuration" column, specify the larger of the current value and the default value. For a parameter listed with an "Addition", specify the larger of the value obtained by adding the value shown to the default value or the current value.
Solaris 9, Solaris 10, and Solaris 11 (tuning using /etc/system)
Resource | Parameter | Value | Standard configuration |
---|---|---|---|
Shared memory | shmsys:shminfo_shmmax | 40000000 | Maximum value |
shmsys:shminfo_shmmni | 80 | Addition | |
Semaphore | semsys:seminfo_semmni | 310 | Addition |
semsys:seminfo_semmns (*1) | 610 | Addition | |
semsys:seminfo_semmnu (*1) | 512 | Addition | |
semsys:seminfo_semmsl | 35 | Maximum value | |
Message | msgsys:msginfo_msgmax (*1) | 512 | Maximum value |
msgsys:msginfo_msgmnb | 4096 | Maximum value | |
msgsys:msginfo_msgmni | 3 | Addition | |
msgsys:msginfo_msgtql | 100 | Maximum value |
*1 Not required under Solaris 10 and Solaris 11.
Edit the kernel parameters using the following methods.
Add the tuning record to /etc/system file.
Change the current record value.
The procedure to edit the kernel parameter is mentioned below.
Use the following command to check the settings of the parameters in this table that are currently set in the system:
# /usr/sbin/sysdef |
Refer to "Table 3.1 Tuning values for Solaris kernel parameters" for comparing the current value to the value in the table. Calculate the appropriate value to set by either adding the two values or taking the maximum value, as indicated in the table.
Edit the /etc/system file.
An example of editing the /etc/system file is shown below. Use suitable values for your environment.
set shmsys:shminfo_shmmax = 40000000 set shmsys:shminfo_shmmni = 180 set shmsys:shminfo_shmseg = 60 set semsys:seminfo_semmni = 320 set semsys:seminfo_semmns = 670 set semsys:seminfo_semmnu = 542 set semsys:seminfo_semmsl = 35 set msgsys:msginfo_msgmax = 2048 set msgsys:msginfo_msgmnb = 4096 set msgsys:msginfo_msgmni = 53 set msgsys:msginfo_msgtql = 140 |
Reboot the system to register the new kernel parameter values in the system.
Use the following command to reboot the system:
# cd / # /usr/sbin/shutdown -y -i6 -g0 |
Check that the new settings are applied using the following command after rebooting:
# /usr/sbin/sysdef |
Solaris 10 and Solaris 11 (tuning using /etc/project)
Note
Care is required when setting values if other software that only supports tuning using the /etc/system file is used on a server where this product is used.
If the /etc/system file and the /etc/project file are both used for tuning, refer to the operating system documentation to set the appropriate values.
If the /etc/project file is used for tuning, ensure that you do not set values that are lower than the Solaris default values.
ETERNUS SF Manager runs under the following project:
system project
Project in which daemons existing in the initialized operating system status run.
user.root project
Project to which processes operated by a root user in the initialized operating system status belong.
Resource | Parameter | Required value | Standard configuration | Privilege level |
---|---|---|---|---|
Shared memory | project.max-shm-memory | 172000000 | Addition | privileged |
project.max-shm-ids | 80 | Addition | privileged | |
Semaphore | project.max-sem-ids | 310 | Addition | privileged |
process.max-sem-nsems | 35 | Maximum value | privileged | |
Message | process.max-msg-qbytes | 4096 | Maximum value | privileged |
project.max-msg-ids | 3 | Addition | privileged |
For "privileged" in the "Privilege level"column, specify "privileged" in the /etc/project file.
Edit the /etc/project file to change the parameters.
The procedure mentioned below.
Check the initial values and the upper limits of the values that can be set in a system project and a user.root project, as shown below:
# newtask -p system # prctl $$ NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT process.max-port-events privileged 65.5K - deny - system 2.15G max deny - process.max-msg-messages privileged 8.19K - deny - system 4.29G max deny - : zone.cpu-shares privileged 1 - none - system 65.5K max none - # newtask -p user.root # prctl $$ NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT process.max-port-events privileged 65.5K - deny system 2.15G max deny process.max-msg-messages privileged 8.19K - deny - system 4.29G max deny - : zone.cpu-shares privileged 1 - none - system 65.5K max none - |
Refer to "Table 3.2 Tuning values for resource control" for comparing the current value to the value in the table. Calculate the appropriate value to set by either adding the two values or taking the maximum value, as indicated in the table.
Use the projmod command to set values for the system project and for the user.root project.
The following example shows how to edit the /etc/project file. Use suitable values for your environment.
# projmod -s -K 'project.max-msg-ids=(privileged,131,deny)' system # projmod -s -K 'project.max-shm-ids=(privileged,208,deny)' system # projmod -s -K 'project.max-sem-ids=(privileged,438,deny)' system # projmod -s -K 'project.max-shm-memory=(privileged,270585456,deny)' system # projmod -s -K 'project.max-msg-ids=(privileged,131,deny)' user.root # projmod -s -K 'project.max-shm-ids=(privileged,208,deny)' user.root # projmod -s -K 'project.max-sem-ids=(privileged,438,deny)' user.root # projmod -s -K 'project.max-shm-memory=(privileged,270585456,deny)' user.root |
Configuration information can be displayed by executing the following command:
The example for executing the confirmation command is shown below.
# projects -l system projid : 0 comment: "" users : (none) groups : (none) attribs: project.max-msg-ids=(privileged,131,deny) project.max-shm-ids=(privileged,208,deny) project.max-sem-ids=(privileged,438,deny) project.max-shm-memory=(privileged,270585456,deny) user.root projid : 1 comment: "" users : (none) groups : (none) attribs: project.max-msg-ids=(privileged,131,deny) project.max-shm-ids=(privileged,208,deny) project.max-sem-ids=(privileged,438,deny) project.max-shm-memory=(privileged,270585456,deny) noproject projid : 2 comment: "" users : (none) groups : (none) attribs: default projid : 3 comment: "" users : (none) groups : (none) attribs: group.staff projid : 10 comment: "" users : (none) groups : (none) attribs: # |
Enable tuning of the kernel parameters.
The executing example is shown below. For details of the command, refer to Solaris manuals.
system project
# newtask -p system |
user.root project
# newtask -p user.root |
Confirm the changed kernel parameter value.
The executing example is shown below. For details of the command, refer to Solaris manuals.
system project
# prctl -i project system |
user.root project
# prctl -i project user.root |
Refer to "Table 3.3 Tuning values for Linux kernel parameters" for the kernel parameters to be tuned and their values.
To edit a kernel parameter, add an entry to the /etc/sysctl.conf file or modify the current record value.
Note
If a parameter value is not set in the /etc/sysctl.conf file, the operating system default value is used for the parameter. In such a case, make an addition or change based on the operating system default value. To display the values used by the operating system, execute the sysctl command. Refer to the section about the man command of the operating system for details of the sysctl command.
For a parameter described as "Maximum value" under "Parameters already set" in the "Table 3.3 Tuning values for Linux kernel parameters" below, specify the larger value of the specified value or the default value. For a parameter listed with an "Addition", specify the larger of the value obtained by adding the value shown to the specified or default value.
Resource | Parameter | Required value | Parameters already set |
---|---|---|---|
Shared memory | kernel.shmmax | 40000000 | Maximum value |
kernel.shmmni | 50 | Addition | |
Semaphore | The first value of kernel.sem (*1) | 30 | Maximum value |
The second value of kernel.sem (*1) | 600 | Addition | |
The fourth value of kernel.sem (*1) | 300 | Addition | |
Message | kernel.msgmax | 512 | Maximum value |
kernel.msgmnb | 4096 | Maximum value | |
kernel.msgmni | 3 | Addition |
*1 The kernel.sem parameter has four tokens. The following shows the order of the tokens.
For the third token, use the current value or the default value.
kernel.sem = para1 para2 para3 para4
The following example shows how to edit the /etc/sysctl.conf file.
kernel.shmmax = 40000000 kernel.shmmni = 4200 kernel.sem = 250 32600 32 428 kernel.msgmax = 8192 kernel.msgmnb = 16384 kernel.msgmni = 18 |
Reboot the system or execute the sysctl command to apply kernel parameter tuning.
The following shows the command for rebooting the system.
# cd / # /sbin/shutdown -r now |
The following provides an entry example where the sysctl command is executed to apply the tuning.
# /sbin/sysctl -p /etc/sysctl.conf |