Apache2::Resource - Limit resources used by httpd children


mod_perl documentation  | view source Contained in the mod_perl distribution.

Index


NAME

Top

Apache2::Resource - Limit resources used by httpd children

Synopsis

Top

  PerlModule Apache2::Resource
  # set child memory limit in megabytes
  # default is 64 Meg
  PerlSetEnv PERL_RLIMIT_DATA 32:48

  # linux does not honor RLIMIT_DATA
  # RLIMIT_AS (address space) will work to limit the size of a process
  PerlSetEnv PERL_RLIMIT_AS 32:48

  # set child cpu limit in seconds
  # default is 360 seconds
  PerlSetEnv PERL_RLIMIT_CPU 120

  PerlChildInitHandler Apache2::Resource










Description

Top

Apache2::Resource uses the BSD::Resource module, which uses the C function setrlimit to set limits on system resources such as memory and cpu usage.

Any RLIMIT operation available to limit on your system can be set by defining that operation as an environment variable with a PERL_ prefix. See your system setrlimit manpage for available resources which can be limited.

The following limit values are in megabytes: DATA, RSS, STACK, FSIZE, CORE, MEMLOCK; all others are treated as their natural unit.

If the value of the variable is of the form S:H, S is treated as the soft limit, and H is the hard limit. If it is just a single number, it is used for both soft and hard limits.

Defaults

Top

To set reasonable defaults for all RLIMITs, add this to your httpd.conf:

  PerlSetEnv PERL_RLIMIT_DEFAULTS On
  PerlModule Apache2::Resource







See Also

Top

BSD::Resource(3), setrlimit(2)

Copyright

Top

Author

Top

Doug MacEachern


mod_perl documentation  | view source Contained in the mod_perl distribution.