Primeiro de tudo, se você estiver fazendo a pergunta, talvez queira dar uma olhada no limites de memória para as várias versões do Windows . Gerar vários processos do Apache não fará muito bem se o sistema operacional limitar você a 2 ou 4 GB de RAM. Além disso, observe que o limite de memória por processo é variável com base no próprio aplicativo.
Em segundo lugar, o limite de 2 GB por processo aplica-se a cada processo. Qualquer processo pode ter até 2 GB de memória alocada para ele, independentemente de ser ou não um processo filho de outra coisa. Processos multi-threaded ainda são processos, então não há passo a passo a limitação dessa maneira.
Por fim, parece que você não entende como os processos do Apache (ou do Windows?) funcionam. Não há uma configuração global para launch [x] processes of [y] application
ou [x] processes of [y] application per [z] cores
e você certamente não obtém um novo processo do Apache para cada http
, portanto, essa parte da questão é um pouco ... irrespondível. O número de processos que um aplicativo lança é definido pelo aplicativo (e pelo usuário, até certo ponto). Por exemplo, cada guia no IE é seu próprio processo, mas cada guia no Firefox não é.
Sugiro, no entanto, que evitar as limitações de memória iniciando várias instâncias do mesmo processo provavelmente não é uma boa idéia, e você deve obter uma versão do Windows que suporte nativamente o seu aplicativo com tanta memória quanto ele realmente precisa (ou pode lidar com). Considere o que vai acontecer quando você (ou outra pessoa) tiver que solucionar um problema e entrar em um servidor Web executando 32 instâncias Apache para "contornar" os 2 GB por limite de processo e usar a limitação máxima permitida de 64 GB do sistema operacional RAM. Alguém vai ser assassinado.