Limiter les ressources memoire et CPU avec Apache
- RLimitCPU
La limite de ressources CPU est exprimée en secondes par processus. Afin d’éviter l’occupation du temps processeur par des pages rhtml contenant des boucles infinies, il vous est recommander de fixer un temps d’exécution limite. Pour cela, utilisez la directive RLimitCPU suivante afin de limiter le temps d’exécution des pages à 30 secondes :
RLimitCPU 30
- RLimitMEM
Les ressources mémoire sont exprimées en octets par processus.
RLimitMEM 67108864
- RLimitNPROC
Cette limite contrà´le le nombre de processus maximum par utilisateur.
RLimitNPROC 16
Note : Si les processus CGI ne tournent pas sous un autre utilisateur que l’utilisateur du serveur, cette directive limitera aussi le nombre de processus que le serveur lui-méme peut créer. Cette situation sera indiquée de façon évidente par des messages d’erreur cannot fork dans le fichier error_log.
Exemple de VirtualHost:
< VirtualHost * >
RLimitCPU 60 RLimitMEM 67108864 RLimitNPROC 16 suPHP_UserGroup user user ServerAdmin webmaster@domaine.com ServerName domaine.com ServerAlias www.domaine.com DocumentRoot /home/user/www ErrorLog /home/user/logs/error.log CustomLog /home/user/logs/access.log combined ScriptAlias /cgi-bin/ /home/user/cgi-bin/ < Directory /home/user/www/ > AllowOverride All Options -Indexes +ExecCGI Order Deny,Allow Allow from all < /Directory >< /VirtualHost >