mod_perl logo perl icon
previous page: Apache2::Reload - Reload Perl Modules when Changed on Diskpage up: mod_perl 2.0 APInext page: Apache2::Status - Embedded interpreter status information

Apache2::Resource - Limit resources used by httpd children






Practical mod_perl

Practical mod_perl

By Stas Bekman, Eric Cholet
The mod_perl Developer's Cookbook

The mod_perl Developer's Cookbook

By Geoffrey Young, Paul Lindner, Randy Kobes
mod_perl Pocket Reference

mod_perl Pocket Reference

By Andrew Ford
Writing Apache Modules with Perl and C

Writing Apache Modules with Perl and C

By Lincoln Stein, Doug MacEachern
Embedding Perl in HTML with Mason

Embedding Perl in HTML with Mason

By Dave Rolsky, Ken Williams
mod_perl2 User's Guide

mod_perl2 User's Guide

By Stas Bekman, Jim Brandt


Table of Contents

Synopsis

  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


TOP

Description

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.



TOP

Defaults

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

  PerlSetEnv PERL_RLIMIT_DEFAULTS On
  PerlModule Apache2::Resource


TOP

See Also

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



TOP

Copyright

mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0.



TOP

Author

Doug MacEachern






TOP
previous page: Apache2::Reload - Reload Perl Modules when Changed on Diskpage up: mod_perl 2.0 APInext page: Apache2::Status - Embedded interpreter status information