Configuring a Microsoft Windows Server to run InfoSphere Information Server

Technote (troubleshooting)


Problem(Abstract)

To run IBM InfoSphere Information Server on Microsoft Windows Server, tune the server engine
and configure the parallel engine by running the relevant tasks that follow.

Environment

Windows Server 2003, 32 bit, Windows Server 2008, 64 bit

Resolving the problem

Complete only the tasks that are relevant to your operating system.


Windows Server 2003, 32 bit
(supported by InfoSphere Information Server versions 8.1 and 8.5)
Windows Server 2008, 32 bit
(supported by InfoSphere Information Server versions 8.5, 8.7, and 9.1)
Windows Server 2008, 64 bit
(supported by InfoSphere Information Server versions 8.7 and 9.1)

Task 1.0: Tuning the server engine for large numbers of users or jobs
For systems that have large numbers of simultaneously connected users or large numbers of simultaneously running jobs, you can configure the server engine to support the number of open files, lock table entries, and locks that are necessary for correct engine operation. To tune the engine, modify settings in the uvconfig file.

Before you begin

    • Back up the uvconfig file. By default, this file is located in the following directory: C:\IBM\InformationServer\Server\DSEngine
    • Stop all IBM InfoSphere DataStage jobs and ask all users to log out of InfoSphere DataStage.
About this task

For new installations of IBM InfoSphere Information Server, change the settings described in this task if you are configuring production systems that have large numbers of simultaneously connected users or large numbers of simultaneously running jobs.

For existing installations, change these settings if you encounter resource problems while running InfoSphere DataStage jobs.

Procedure

    1. Perform the following steps to verify that no InfoSphere DataStage jobs or osh.exe processes are running on the server and that no connections are active:
        a. From the Microsoft Windows Task Manager, click the Processes tab, and then click the Image Name column to sort the process list by name.
        b. Verify that the Show processes from all users check box is selected.
        c. In the list of processes, verify that the following processes are not running: uvsh.exe and osh.exe. If these processes are not running, there are no InfoSphere DataStage jobs running on the server.
        d. In the list of processes, verify that the following processes are not running: dsapi_server.exe and dsapi_slave.exe. If these processes are not running, there are no active InfoSphere DataStage connections.
    2. Stop the InfoSphere Information Server engine.
    3. Use a text editor to edit the uvconfig file. By default, this file is located in the following directory:
            C:\IBM\InformationServer\Server\DSEngine

      Specify the following settings:

            MFILES    200
           T30FILES  300
           RLTABSZ   300
           MAXRLOCK  299

    4. Save the uvconfig file. Make sure that you do not save the file with a .txt extension. The uvconfig file cannot have a file extension.
    5. From the Windows command prompt, change to the directory that contains the uvconfig file. For example:
            cd C:\IBM\InformationServer\Server\DSEngine
    6. Issue the following command to regenerate the binary uvconfig file:
            bin\uvregen.exe
    7. Restart the InfoSphere Information Server engine.
Task 2.0: Configuring the parallel engine
You can configure the parallel engine for Windows Server by editing the Windows Registry and by changing system settings that control available memory. The Windows Registry includes keys that control desktop heap size, swap area size, the number of available TCP connections, and memory management. Follow each of the subtasks that apply for your version of Windows Server.

If you are on Windows Server 2008 64 bit, skip to task 2.4. Otherwise, continue with task 2.1.

Task 2.1: Configuring the Windows registry: Enabling auto-tuning for paged pool size

Applies to Windows Server 2003 and 2008, 32 bit.

If the parallel engine is installed on a computer that runs Windows Server, Standard or Enterprise edition, enable auto-tuning for the paged pool size. Enabling auto-tuning ensures that sufficient memory is available for paged pools.

Before you begin

    • Log in to Windows Server as the Administrator.
    • Start the Registry Editor, and back up the Windows Registry. If you plan to make several changes (for example, to configure the parallel engine), create a single backup before you make all the changes.
About this task

The Windows Server kernel allocates memory in pools. These pools are known as the paged pool and the non-paged pool. Performance degradation and server instability can result if the memory for these pools is exhausted. To avoid this situation, you can enable auto-tuning at server startup by editing the PagedPoolSize registry value in the following registry subkey:

      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

Procedure

    1. In the Registry Editor, select the following registry subkey:
            HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
    2. In the right pane of the Registry Editor, right-click PagedPoolSize and click Modify.
    3. In the Base area, select Hexadecimal.
    4. In the Value data field, specify 0 (zero). If 0 is already specified, auto-tuning is enabled, and you do not need to change this value. If you must specify a value other than 0, the value data for SystemPages must be 0.
    5. Click OK.

What to do next

Proceed to step 2 of task 2.2, which is an update to the SystemPages value of the same registry subkey.

Task 2.2: Configuring the Windows registry: Enabling auto-tuning for system page size

Applies to Windows Server 2003 and 2008, 32 bit.

If the parallel engine is installed on a computer that runs Windows Server, Standard or Enterprise edition, enable auto-tuning for the system page size. Enabling auto-tuning ensures that sufficient memory is available for page tables and page table entries.

Before you begin

    • Log in to Windows Server as the Administrator.
    • Start the Registry Editor, and back up the Windows Registry. If you plan to make several changes (for example, to configure the parallel engine), create a single backup before you make all the changes.
About this task

To support virtual to physical address translation, the Windows operating system uses page tables and page table entries (PTEs). These tables reside in kernel memory. If not enough memory is allocated for the page tables, Windows might fail to create processes, threads, and I/O buffers. Because the parallel engine creates many processes to run a job, jobs will fail at startup or during run time if Windows does not have enough resources to create processes.

You can enable auto-tuning at server startup by editing the SystemPages registry value in the following registry subkey:

     HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

Procedure

    1. In the Registry Editor, select the following registry subkey:
           HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
    2. In the right pane of the Registry Editor, right-click SystemPages, and click Modify.
    3. In the Base area, select Hexadecimal.
    4. In the Value data field, specify 0 (zero). Typically, specifying 0 for this value provides sufficient memory. If the available PTEs are exhausted, however, you can specify the maximum value, 0xFFFFFFFF. If you must specify a value other than 0, the value data for PagedPoolSize must be 0.
    5. Click OK.

What to do next

If you are on Windows Server 2003, proceed to step 2 of task 2.3, which is an update to the HeapDeCommitFreeBlockThreshold value of the same registry subkey.

If you are on Windows Server 2008, proceed to task 2.4 and start at the About this task section to update the SharedSection value of the SubSystems registry subkey.

Task 2.3: Configuring the Windows registry: Setting the threshold for de-committing memory

Applies only to Windows Server 2003.

If the parallel engine is installed on a computer that runs Windows Server 2003, Standard or Enterprise edition, set the threshold for de-committing memory. On computers that have 1 GB or more of RAM, setting the threshold to the suggested value improves memory management.

Before you begin

    • Log in to Windows Server 2003 as the Administrator.
    • Start the Registry Editor, and back up the Windows Registry. If you plan to make several changes (for example, to configure the parallel engine), create a single backup before you make all the changes.
About this task

When Windows frees memory at a specific address, the memory can remain committed, or it can be de-committed and marked as reserved. You can improve memory management on computers that have 1 GB or more of RAM by editing the HeapDeCommitFreeBlockThreshold registry value in the following subkey:

      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager

This registry value specifies the number of contiguous bytes of memory (around the address of the freed memory) above which the block of memory is de-committed.

Procedure

    1. In the Registry Editor, select the following registry subkey:
            HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
    2. Specify the value data for HeapDeCommitFreeBlockThreshold registry value:
        a. If the registry value does not exist, click Edit > New > DWORD Value and type the name of the registry value.
        b. In the right pane of the Registry Editor, right-click the registry value, and click Modify.
        c. In the Base area, select Hexadecimal.
        d. In the Value data field, specify 0x00040000.
        e. Click OK.
What to do next

Proceed to task 2.4 and start at the About this task section to update to the SharedSection value of the SubSystems registry subkey.

Task 2.4: Configuring the Windows registry: Increasing the noninteractive desktop heap size

Applies to Windows Server 2003 and 2008, 32 or 64 bit.

If the parallel engine is installed on a computer that runs Windows Server, Standard or Enterprise edition, increase the noninteractive desktop heap size to improve performance.

Before you begin

    • Log in to Windows Server as the Administrator.
    • Start the Registry Editor, and back up the Windows Registry. If you plan to make several changes (for example, to configure the parallel engine), create a single backup before you make all the changes.
About this task

IBM InfoSphere DataStage® processes are created in a specific desktop heap. Each process consumes a small amount of memory from the desktop heap. If you expect to run many InfoSphere DataStage jobs concurrently, increase the size of the noninteractive desktop heap to allow more processes to be created and run concurrently. If Windows runs out of desktop heap, new processes will not be able to start and Windows will seem to be 'locked'. It is possible for Windows to run out of desktop heap while there is lots of system memory available.

You increase the size of the noninteractive desktop heap by editing the SharedSection parameter string in the following registry subkey:

      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems

The SharedSection parameter string is located in the Windows registry value and uses the following format to specify heap size:

      SharedSection=systemheap,desktopheap,noninteractiveheap

Where:
systemheap

      Specifies the maximum size of the system-wide heap (in kilobytes)
desktopheap
      Specifies the size of each desktop heap
noninteractiveheap
      Specifies the size of the desktop heap that is associated with a noninteractive Windows station

The heap size settings to use
Operating System
Interactive desktop heap size (SharedSection 2nd value)
Noninteractive desktop heap size (SharedSection 3rd value)
Windows Server 2003 (32 bit)
3072 KB
2048 KB
(or 1024 KB, if 2048 fails)
Windows Server 2008 (32 bit)
12288 KB
512 KB
Windows Server 2008 (64 bit)
20480 KB
768 KB

Procedure

    1. In the Registry Editor, select the following registry subkey:
            HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems
    2. In the right pane of the Registry Editor, right-click the Windows registry value, and click Modify.
    3. In the Value data field, locate the SharedSection parameter string, and change the last SharedSection parameter as described above. For example, you would specify the following values for Windows Server 2008 32 bit:
            SharedSection=1024,12288,512
    4. Click OK.

What to do next

If you are on Windows Server 2003, proceed to task 2.5 and start at the About this task section to update to the value of the MaxUserPort and TcpNumConnections valued of the Tcpip\Parameters registry subkey.

If you are on Windows Server 2008, proceed to task2.6 to change the swap file size.

Task 2.5: Configuring the Windows registry: Specifying TCP/IP settings

Applies only to Windows Server 2003.

If the parallel engine is installed on a computer that runs Windows Server 2003, Standard or Enterprise edition, specify settings for TCP/IP in the Windows registry to ensure that the required number of parallel processes can run concurrently.

Before you begin

    • Log in to Windows Server 2003 as the Administrator.
    • Start the Registry Editor, and back up the Windows Registry. If you plan to make several changes (for example, to configure the parallel engine), create a single backup before you make all the changes.
About this task

You specify TCP/IP settings by editing the following registry values in this registry subkey:

      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters registry subkey:

MaxUserPort

      Specifies the maximum port number for ephemeral TCP ports.
TcpNumConnections
      Specifies the maximum number of concurrent connections that TCP can open. This value significantly affects the number of concurrent osh.exe processes that are allowed. If the value for TcpNumConnections is too low, Windows cannot assign TCP ports to stages in parallel jobs, and the parallel jobs cannot run.
TcpTimedWaitDelay
      Determines the time that must elapse before TCP can release a closed connection and reuse its resources. This interval between closure and release is known as the TIME_WAIT state or 2MSL state. During this time, the connection can be reopened at much less cost to the client and server than establishing a new connection. If the value is too high, the parallel engine may not be able to assign enough TCP to stages in parallel jobs because ports may become available too slowly.
These keys are not added to the registry by default.

Procedure

    1. In the Registry Editor, select the following registry subkey:
            HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
    2. Specify the following registry values: MaxUserPort, TcpNumConnections, and TcpTimedWaitDelay .
        a. If the registry value does not exist, click Edit > New > DWORD Value and type the name of the registry value.
        b. In the right pane of the Registry Editor, right-click the registry value, and click Modify.
        c. In the Base area, select Decimal.
        d. In the Value data field, specify the following values:

Registry value name
Value data
Valid range
MaxUserPort 65534 5000-65534 (decimal)
TcpTimedWaitDelay 30 30 -240 (seconds, decimal)
TcpNumConnections 65534 0 - 0xfffffe (65534 decimal)
        e. Click OK.

What to do next

Proceed to task 2.6 to increase the Windows page file size.

Task 2.6: Configuring Windows: Increasing the Windows page file size

Applies to Windows Server 2003 and 2008, 32 or 64 bit.

If the parallel engine is installed on a server that runs Windows Server, Standard or Enterprise edition, change the size of the swap area to improve performance. Ideally this allowcation shoul dbe split between 2 or more physical disks.

Before you begin

Log in to Windows Server as the Administrator.

About this task

If you are unsure on how to set the correct values, use the procedure below to set virtual memory to the recommended value.

Procedure

    • For Windows Server 2003:
        1. Open the System control panel: Start > Control Panel > System.
        2. In the System Properties window, click the Advanced tab.
        3. In the Performance area, click Settings.
        4. In the Performance Options window, select the Advanced tab.
        5. In the Virtual memory area, click Change.
        6. In the Virtual Memory window, specify a value for Maximum size. Set this value to be one to one-and-a-half times that of physical memory.
        7. Click Set.
        8. Click OK three times and then close the Control Panel window.
    • For Windows Server 2008:
        1. Open the control panel: Start > Settings > Control Panel.
        2. Open the System control panel.
        3. Click Advanced system settings.
        4. In the Performance section of the Advanced tab, click Settings.
        5. In the Performance Options window, select the Advanced tab.
        6. In the Virtual memory area, click Change.
        7. In the Virtual Memory window, deselect Automatically manage paging file size for all drives, if it is selected.
        8. Select the drive letter on which to create a page file.
        9. Select Custom size and set the Maximum size to be one to one-and-a-half times that of physical memory.
        10. Click Set.
        11. Repeat steps 8 - 10 for each drive on which you want to allocate a page file.
        12. Click OK on all of the windows that you opened and close the Control Panel.
What to do next

If you are on Windows Server 2003, proceed to task 2.7 to edit the boot.ini file.

If you are on Windows Server 2008, proceed to task 2.8 to configure TCP/IP.

Task 2.7: Configuring Windows: Editing the boot.ini file

Applies only to Windows Server 2003.

If the parallel engine is installed on a computer that runs Windows Server 2003, Standard or Enterprise edition, edit the boot.ini file to remove the /3GB switch and, if necessary, add the /PAE switch.

Before you begin

You might want to save a backup of the boot.ini file before you change the file.

About this task

By default, Windows reserves 2 GB of memory for the kernel and 2 GB of memory for user mode programs. When the /3GB switch is specified in the boot.ini file, 3 GB of memory is reserved for user mode programs, and the amount of kernel memory is reduced by 1 GB. This setting results in an insufficient amount of memory for the kernel. To resolve this problem, remove the /3GB switch, if present, from boot.ini file.

In addition, on servers that have more than 4 GB of physical memory installed, specify the /PAE switch in the boot.ini file. The /PAE switch specifies physical address extensions that allow a 32-bit processor to access memory that is above the 4 GB limit.

Procedure

    1. Click Start > Control Panel > System.
    2. In the System Properties window, click the Advanced tab.
    3. In the Startup and Recovery area, click Settings.
    4. Click Edit to edit the boot.ini file.
    5. Remove the /3GB switch, if present.
    6. On servers that have more than 4 GB of physical memory installed, add the /PAE switch to the boot.ini file.
    7. Save and close the boot.ini file.
    8. Click OK twice, and then close the Control Panel window.

What to do next

Restart Windows to apply all the changes.

Task 2.8: Configure TCP/IP with Registry and command line

Applies only to Windows Server 2008.

If the parallel engine is installed on a computer that runs Windows Server 2003, Standard or Enterprise edition, specify settings for TCP/IP in the Windows registry to ensure that the required number of parallel processes can run concurrently.

Before you begin

Log in to Windows Server 2003 as the Administrator.

Start the Registry Editor, and back up the Windows Registry. If you plan to make several changes (for example, to configure the parallel engine), create a single backup before you make all the changes.

About this task

You specify TCP/IP settings by editing the following registry value in this registry subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

TcpTimedWaitDelay

    Determines the time that must elapse before TCP can release a closed connection and reuse its resources. This interval between closure and release is known as the TIME_WAIT state or 2MSL state. During this time, the connection can be reopened at much less cost to the client and server than establishing a new connection. If the value is too high, the parallel engine may not be able to assign enough TCP to stages in parallel jobs because ports may become available too slowly.
    This key is not added to the registry by default.

Procedure
1. In the Registry Editor, select the following registry subkey:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

2. Specify the following registry value: TcpTimedWaitDelay .
      a. If the registry value does not exist, click Edit > New > DWORD Value and type the name of the registry value.
      b. In the right pane of the Registry Editor, right-click the registry value, and click Modify.
      c. In the Base area, select Decimal.
      d. In the Value data field, specify the following values:
Registry value name Value data Valid range
TcpTimedWaitDelay 30 30 -240 (seconds, decimal)

e. Click OK.
    On Windows 2008 the number of ports is controlled with a command line utility which must be run by a user with administrative privileges. Use the netsh command to configure the start port and the range.
    The default start port is 49152 and the default end port is 65535 which provides 16383 usable dynamic ports.

To increase the number of usable dynamic ports to 60,000 use:

netsh int ipv4 set dynamicportrange protocol=tcp startport=10000 numberofports=50000  store=persistent
netsh int ipv6 set dynamicportrange protocol=tcp startport=10000 numberofports=50000  store=persistent


What to do next
Restart Windows to apply all the changes

Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

InfoSphere Information Server

Software version:

8.1, 8.1.0.1, 8.1.0.2, 8.5, 8.7, 9.1

Operating system(s):

Windows

Reference #:

1419242

Modified date:

2011-04-25

Translate my page

Machine Translation

Content navigation