Ответ 1
Хорошо, что легко. Похоже, что вам нужно обновить vps или масштабировать настройки памяти postgres/apache/etc и получить результирующий удар производительности.
У меня есть VPS-сервер с Ubuntu 11.10 64bit, а иногда, когда я выполняю команду subprocess.Popen, я получаю слишком много этой ошибки:
OSError: [Errno 12] Невозможно выделить память
Сведения о конфигурации: Для каждого сайта у меня есть сайт apache следующим образом: http://pastebin.com/mcew79sH А также настройки и файл wsgi (как в одной папке, так и в проекте): http://pastebin.com/hrrV4WTM
Я передаю аргументы конструктору Popen как список и используя close_fds = True, я также использую и stdin/stdout для связи с PIPE для тех, которые мне нужны для чтения ответа.
Наконец, это трассировка, которую я получаю, когда появляется ошибка http://pastebin.com/FqXPHwhq
Сервер обслуживает около 25 сайтов с небольшим трафиком (вероятно, 5 из них имеют значительное ежедневное использование). Мой размер VPS RAM составляет 1024 МБ, все они выполняют базы данных PostgreSQL.
Все это началось, когда мы перенесли сайты из VPS, работающего под управлением Ubuntu Server 10.10. 32 Bit to 11.10 64Bit.
Любая идея, как это решить?
---- EDIT ----
ps aux → http://synsa.synsa.com/site_media/process.txt
Хорошо, что легко. Похоже, что вам нужно обновить vps или масштабировать настройки памяти postgres/apache/etc и получить результирующий удар производительности.
Некоторые поставщики VPS вычисляют границы памяти странными способами. Посмотрите, что описано в:
http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Memory_Constrained_VPS_Systems
помогает вообще.