---
name: "Apache::Resource"
section: "3pm"
platform: "linux"
package: "libapache-mod-perl"
version: "1.29.0.4-4.1+etch1"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/Apache::Resource"
---

# Apache::Resource(3pm)

Limit resources used by httpd children

## NAME

Apache::Resource - Limit resources used by httpd children

## SYNOPSIS

```
 PerlModule Apache::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 Apache::Resource
```

## DESCRIPTION

**Apache::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

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

```
 PerlSetEnv PERL_RLIMIT_DEFAULTS On
 PerlModule Apache::Resource
```

## AUTHOR

Doug MacEachern

## SEE ALSO

*BSD::Resource*(3), [*setrlimit*(2)](/setrlimit/2.md)
