Apache/Passenger: не следует PassengerMaxPoolSize/PassengerMaxInstancesPerApp?
Если я прав, когда думаю, что линия
30193 ramon 16 0 170M 119M 3628 S 0.0 11.6 0:08.47 Rack: /var/www/salcedoauctions/current
в htop означает, что в приложении salcedoauctions есть один спавн, тогда почему же спэнов гораздо больше, чем я указал?
Вот мой httpd.conf:
....
PassengerMaxPoolSize 4
PassengerMaxInstancesPerApp 2
....
Вот полу-полный htop:
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
30193 ramon 16 0 170M 119M 3628 S 0.0 11.6 0:08.47 Rack: /var/www/salcedoauctions/current
30197 ramon 18 0 170M 119M 3628 S 0.0 11.6 0:02.08 Rack: /var/www/salcedoauctions/current
30198 ramon 18 0 170M 119M 3628 S 0.0 11.6 0:01.96 Rack: /var/www/salcedoauctions/current
30199 ramon 18 0 170M 119M 3628 S 0.0 11.6 0:01.96 Rack: /var/www/salcedoauctions/current
30067 ramon 15 0 167M 117M 3648 S 0.0 11.5 0:08.77 Rack: /var/www/salcedoauctions/current
30202 ramon 16 0 167M 117M 3648 S 0.0 11.5 0:04.55 Rack: /var/www/salcedoauctions/current
30203 ramon 16 0 167M 117M 3648 S 0.0 11.5 0:03.43 Rack: /var/www/salcedoauctions/current
30204 ramon 16 0 167M 117M 3648 S 0.0 11.5 0:03.32 Rack: /var/www/salcedoauctions/current
28454 ramon 16 0 73764 51732 2520 S 0.0 4.9 0:00.66 Rack: /var/www/unstilted/current
.....
Некоторые заметки:
- Да, я перезапустил apache, чтобы он мог перезагрузить конфигурацию (фактически, несколько раз, так как серверу не хватало памяти)
- CentOS 5.5
- Ruby EE 1.8.7
- Rails 3.0.1
Пассажир 3.0.0
ОБНОВЛЕНИЕ № 1 делает
passenger-status
хотя показывает цифры, которые я ожидаю увидеть. Полагаю, я просто неправильно это понял. Причина, по которой я спрашиваю, заключается в том, что моя 1 ГБ память израсходована, а иногда сервер останавливается. Кажется, что эти процессы загружают оперативную память.- ОБНОВЛЕНИЕ № 2: Я спросил в #rubyonrails, и меня спросили, разветвляют ли какие-либо приложения какие-либо процессы. Оба приложения ничего не разветвляют, но я использую Dragonfly для обработки своих изображений и вложений. Тем не менее, я не знаю, как я могу точно определить, является ли это причиной проблемы.
- ОБНОВЛЕНИЕ № 3 (14 октября 2011): я обновился до
Ruby 1.9.2
,Rails 3.1.x
,dragonfly 0.9.3
,ImageMagick 6.7
; и у меня все та же проблема. Это больше не Dragonfly, потому что новые версии не используютrmagick
, Это делает вызов командной строки для преобразования изображений.
1 ответ
Для отслеживания этих проблем, работает passenger-status -v
на сервере даст хороший обзор того, что на самом деле активно. Точно так же, passenger-memory-status
даст вам хороший обзор использования памяти.
Что касается версий, рассмотрите возможность обновления до пассажирского> 3.0.7 - у меня были похожие проблемы с рельсами / стрекозой и утечками памяти в ранних выпусках 3.0. ImageMagick 6.6.0 и rmagick 2.13.1 уже давно работают хорошо.