Wednesday, 9 July 2008

Solaris: Increasing the Maximum Processes per User ID

This blog post attempts to show the steps involved {with an example} in increasing the maximum processes allowed per user id on Solaris.

Steps

  • Examine the current limit.

    % ulimit -a
    core file size (blocks, -c) unlimited
    data seg size (kbytes, -d) unlimited
    file size (blocks, -f) unlimited
    open files (-n) 256
    pipe size (512 bytes, -p) 10
    stack size (kbytes, -s) 8480
    cpu time (seconds, -t) unlimited
    max user processes (-u) 9989
    virtual memory (kbytes, -v) unlimited

    # echo maxuprc/D | adb -k
    physmem 5f75e
    maxuprc:
    maxuprc: 9989

    # sysdef | grep v_maxup
    9989 maximum processes per user id (v.v_maxup)



    On Solaris:

           max_nprocs = (10 + 16 * maxusers)
           maxuprc = (max_nprocs - 5)

    Where:

    max_nprocs = Total number of system wide processes

    maxuprc = Total number of processes a non-root user can have occupying a process table slot at any point in time

    maxusers is a tunable parameter at the kernel level that is by default set to the lesser of the amount of memory in Mbytes or 2048. Range: 1 to 2048, based on physical memory if not set in the /etc/system file; and 1 to 4096, if set in the /etc/system file.


    Proceeding with the same example:


    # echo maxusers/D | adb -k
    physmem 5f75e
    maxusers:
    maxusers: 624


    Therefore, maxuprc = (10 + (16 * 624) - 5) = 9989.

  • If rebooting the system is not an option, dynamically increase the maximum user processes limit as shown in the example. The following example increases the limit to 20,000.


    # adb -kw
    physmem 5f75e
    maxuprc/D <-- type this line
    maxuprc:
    maxuprc: 9989
    v+0x1c/W0x4e20 <-- type this line. 0x4e20 is the hexa-decimal equivalent of 20,000
    v+0x1c: 0x2705 = 0x4e20
    $q <-- type this to quit adb


    Check the maximum user processes limit one more time.

    % ulimit -a | grep processes
    max user processes (-u) 20000

    % sysdef | grep v_maxup
    20000 maximum processes per user id (v.v_maxup)


    Note:
    Even though the maxuprc gets updated in the system, abd still shows the old value that it picked up during the system boot up process.

  • If the system can be rebooted or if you want the new maxuprc value to be presistent across multiple reboots, add the following line to /etc/system.

           set maxuprc = <DesiredNumber>

Alternatively increase maxusers from the current value by setting set maxusers = <DesiredMbytes> in /etc/system. Then the maximum number of processes on the system will be derived from the maxusers.

Check Process-Sizing Parameters section of Solaris Tunable Parameters Reference Manual for more.

Reference:
Sunsolve Document 202586: How is the maximum size of the process table determined?
Solaris kernel tunables
________________
Technorati Tags:
|

Wednesday, 2 July 2008

Manual installation Steps for PHP on Windows Vista

These are the steps for manual installation of PHP version 5.2.6 with Apache HTTP server version 2.2.9 on windows Vista.

Download Apache HTTP Server from the following link.
http://httpd.apache.org/

Step 1:

Download the latest zip package of Windows Binaries from the following link.
http://www.php.net/downloads.php

Step 2:

Extract the zip binary package into C:\php folder.

Step 3:

Add the PHP directory to the PATH as follows.
click start -> settings -> control panel -> System.
click on Advanced system settings (appears on left side of the window)
click on the 'Environment Variables' button
scroll down to find 'Path' in the System variables pane.
Double click on the 'Path' and add ;C:\php at the end and click on the ok button.
Restart the system.

Step 4:

In the php folder look for the file 'php.ini-recommended' and rename the file as 'php.ini'.
Copy the 'php.ini' file into 'C:\windows' folder.
Rename the 'php.ini' file in 'C:\php' folder to 'php-activescript.ini'.

Step 5:

Download 'php5activescript.dll' from the following link.
http://pecl4win.php.net/list.php

place the DLL in 'C:\php' folder.
Register the DLL as follows.
Click on the Start -> Programs -> Accessories -> Command Prompt.
In the Command Prompt window go to 'C:\php' and type regsvr32 php5activescript.dll

Step 6:

Changes to be made to httpd.conf file of Apache:

Look for 'httpd.conf' file in the folder chosen for installation of Apache software.
(By default the file may be located in C:\program Files folder.)

Add the following line in the LoadModule segment of the conf file.

LoadModule php5_module c:\php\php5apache2_2.dll

Add the following line in the segment of the conf file

AddType application/x-httpd-php .php

save the changes and close the conf file.

Step 7:

Restart the Apache server.

Reference : PHP Installation Guide.

___________
Technorati Tags:
| |