Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6671609
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T03:24:31+00:00 2026-05-26T03:24:31+00:00

Current my website is using drupal 6 , the apache http is using prefork

  • 0

Current my website is using drupal 6 , the apache http is using prefork mpm.
When i test my web application, the memory wont release at all , it just adds up the memory usage.
However on windows , it use mpm_winnt.c , it works great,without memory leak.

Does it work if i change it to using worker.c on my linux server?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-26T03:24:31+00:00Added an answer on May 26, 2026 at 3:24 am

    Worker mode is not available with mod_php for Apache. because if PHP5 is known to be multithread-enabled it’s really not the case for all PHP librairies and extensions (for example a locale call will enforce locale settings for all PHP threads in the apache proces).

    So, do not use the worker model. Except maybe if you use PHP outside of Apache (with php-fpm). And on Windows you may experience the same thread corruption problems (but officially, PHP distributions on Windows are considered thread-safe, so as long as you do not add a self-compiled PHP external component…).

    When you say :

    the memory wont release at all

    I’m not sure you fully understand what’s happening. Apache will fork a big number of child processes. If you use your Drupal6 application on these childrens and allow a big memory_limit for PHP you can be quite sure Drupal will use this memory limit, so If you said 128M your apache child process, running PHP will take this RAM (if Drupal ask for that, but Drupal with views is a good RAM eater, for sure). When the requests ends the Apache subprocess won’t release the RAM, as it may need the same amount for the next query. So if you allow 100 MaxClients to Apache and 128M of memory limit you may end up with 128M*100=12,5Go of RAM. Now on Linux the fact that available RAM is used is not a problem, you could think of it as a good thing. You have RAM available, why not using it? Your problem is maybe that you do not have this amount of RAM (12.5G here, only for Apache)

    You can enforce a die of an apache subprocess with the MaxRequestsPerChild, let’s say with a value of 100, then after 100 requests handled by an apache child process it will be killed and re-created. But, if all your requests needs 128M of RAM you’ll get the same problem soon.

    • set low values for MaxClients (less than available RAM/average RAM of one Process),
    • push the MySQL server on another server, big RAM eater as well
    • try to find a low limit for memory_limit (this can be quite hard with Drupal, but check for all the Drupal profiling modules, and check all the visibility settings of your blocks you’ll get nice hints)
    • if your project is quite big buy several apache servers and build a solution with http load balancing.
    • use php in fastcgi mode (like php-fpm), so that at least all non-php pages will be used with a worker apache server (but you’ll get same problems of RAM usage inside your fastcgi php server)
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am using Dynamic Data Web Entities Application website and need control of the
I have one web application with two projects: Project Website Using CMS; namespace Web
My website makes a lot of requests. I often need to cancel all current
In my C# asp.net 3.5 application I am using RSS Feed to get current
I am using the mailto URI scheme in my website for emailing the current
I'm making a new website to replace a current one, using Flask micro-framework (based
I'm using MVC2 and VS2010 developing a website and need to use Application State
I am developing a website using VS 2008 (C#). My current mission is to
at my current website i am using this code to get the first image
I have a website that displays the current date using the code Datetime.Now .

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.