Ошибка нехватки памяти apache

mod_python (?) потребляет много оперативной памяти (около 9 МБ на рабочий процесс). Если я открою несколько страниц TRAC одновременно, у многих из них будет ошибка из-за отсутствия оперативной памяти (виртуальный лимит 64 МБ). Если я ограничу количество рабочих потоков до 3, я могу обойтись без проблем. Проблема в том, что если никто не обращается к TRAC, у меня ОЧЕНЬ много не используется.

Есть ли способ, которым я могу

  1. Ограничить количество рабочих процессов, которые могут использовать Python?
  2. Ограничить количество рабочих процессов на моем пути следования?
  3. Попросите apache создать столько рабочих процессов или потоков, сколько он хочет, но он будет создаваться только тогда, когда количество X или оперативная память свободны (или когда количество X или ниже используется apache)
  4. Что-то другое ?

Это действительно относится к serverfault

Tim Post 02.11.2009 04:04

tinkertim: Конечно, есть, жаль, что на момент написания этого не существовало: X

user34537 02.11.2009 04:50
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
2
345
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете настроить второй apache mod_python с минимальным количеством рабочих потоков для запуска только на локальном интерфейсе и с другим портом, то есть http://127.0.0.1:9000/. Затем для вашего общедоступного экземпляра apache на порту 80 отключите mod_python и настройтесь на оптимальное использование оперативной памяти. Прокси-сервер всех запросов trac и других приложений Python к локальному экземпляру mod_python.

Если общедоступный apache остается только для обслуживания статического контента, подумайте о замене его чем-то легким, например nginx или lighttpd.

Другие вопросы по теме