Я пробовал hhvm на моем vServer и у меня проблемы с используемой памятью. Производительность отличная, но потребление используемой памяти ужасное. У меня есть vServer с минимальной 4 ГБ и максимальной 8 ГБ памяти, а hhvm использует через 1 день около 2,4 ГБ доступной памяти — но все еще растет.
Есть ли опция в server.ini, чтобы установить максимальный объем памяти, который должен использоваться для процесса hhvm?
В настоящее время я использую Typo3 и Prestashop внутри hhvm
location ~ \.php$ {
try_files $uri =404;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_pass unix:/var/run/hhvm/hhvm.sock;
}
и server.ini
; php options
pid = /var/run/hhvm/pid
; hhvm specific
;hhvm.server.port = 9000
hhvm.server.file_socket = /var/run/hhvm/hhvm.sock
hhvm.server.type = fastcgi
hhvm.server.default_document = index.php
hhvm.log.use_log_file = true
hhvm.log.file = /var/log/hhvm/error.log
hhvm.repo.central.path = /var/run/hhvm/hhvm.hhbc
HHVM Wiki имеет довольно полный список опций. Я не знаю ни одного, кто контролирует максимальное использование памяти.
Но что же делать во время выполнения, когда оно достигает этого максимума? Я не уверен, что это будет полезным вариантом.
Если вы видите монотонно увеличивающееся использование памяти с течением времени, вы должны подать новую проблему на GitHub так что мы можем помочь вам получить профиль кучи и выяснить, что вызывает увеличение памяти. Этого не должно быть. Есть несколько известных ошибок, которые мы могли бы помочь вам обойти — любое использование create_function
например, известно, что сейчас происходит утечка — или, может быть, вы обнаружили новую утечку, которую мы можем исправить.
Других решений пока нет …