Я использую drush, который является php-приложением командной строки для управления сайтом drupal. Я запускаю команду для импорта большого количества данных, что вызывает у меня ограничение памяти php.
PHP Fatal error: Allowed memory size of 536870912 bytes exhausted ...
который составляет 512 МБ, если я правильно делаю математику (536870912 / 1024 / 1024 = 512). Я изменил директиву в php.ini, который использует drush:
$> drush status
...
PHP configuration : /etc/php5/cli/php.ini
$> grep memory /etc/php5/cli/php.ini
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 1024M
но я все еще поражаю предел 512 МБ! Я работаю в виртуальной машине, настройка, память от 512 до 1025 МБ оперативной памяти для запуска drush.
$> free -m
total used free shared buffers cached
Mem: 1010 578 431 0 14 392
-/+ buffers/cache: 172 837
Swap: 382 0 382
так он говорит, что он имеет некоторые 431 Мб бесплатно, теперь, когда я наткнулся vm до 1024. Я предполагаю, что половина памяти используется для запуска GUI, но я не понимаю, как GUI работал хорошо, когда у vm было 512 МБ оперативной памяти.
Почему php cli все еще достигает предела памяти 512 МБ? Если бы он достиг предела системной памяти, не должен ли он умереть около 431 МБ, что и является free
команда говорит доступно?