Top
ETERNUS SF Express V15.3/ Storage Cruiser V15.3/ AdvancedCopy Manager V15.3 Installation and Setup Guide
ETERNUS

3.1.6 Kernel parameter tuning (for Solaris and Linux)

Tune the kernel parameters, which are required for operation.

3.1.6.1 Kernel parameter tuning (for Solaris)

For Solaris kernel parameters required tuning, their values, and how to set the values, refer to the following description.

Solaris 10, Solaris 11

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.

Solaris 9

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)

Table 3.1 Tuning values for Solaris kernel parameters

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.

The procedure to edit the kernel parameter is mentioned below.

  1. Use the following command to check the settings of the parameters in this table that are currently set in the system:

    # /usr/sbin/sysdef
  2. 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.

  3. 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
  4. 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
  5. Check that the new settings are applied executing 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:

Table 3.2 Tuning values for resource control

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.

  1. 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                                 -
  2. 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.

  3. 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
  4. 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:
    #
  5. Enable tuning of the kernel parameters.

    The executing example is shown below. Refer to Solaris manuals for information on the command.

    • system project

      # newtask -p system
    • user.root project

      # newtask -p user.root
  6. Confirm the changed kernel parameter value.

    The executing example is shown below. Refer to Solaris manuals for information on the command.

    • system project

      # prctl -i project system
    • user.root project

      # prctl -i project user.root

3.1.6.2 Kernel parameter tuning (for Linux)

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 information on 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.

Table 3.3 Tuning values for Linux kernel parameters

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 = parameter1 parameter2 parameter3 parameter4

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