За последние 24 часа нас посетили 25507 программистов и 1645 роботов. Сейчас ищут 1540 программистов ...

mmap() failed

Тема в разделе "PHP для новичков", создана пользователем satex, 15 фев 2023.

  1. satex

    satex Новичок

    С нами с:
    15 фев 2023
    Сообщения:
    9
    Симпатии:
    0
    >./yii difference/json
    mmap() failed: [12] Cannot allocate memory
    mmap() failed: [12] Cannot allocate memory
    PHP Fatal error: Out of memory (allocated 4194304) (tried to allocate 2950070488 bytes) in /var/www/html/yii/console/models/Difference.php on line 112
    Fatal error: Out of memory (allocated 4194304) (tried to allocate 2950070488 bytes) in /var/www/html/yii/console/models/Difference.php on line 112
    PHP Fatal Error 'yii\base\ErrorException' with message 'Out of memory (allocated 4194304) (tried to allocate 2950070488 bytes)'
    in /var/www/html/yii/console/models/Difference.php:112
    Stack trace:
    #0 [internal function]: yii\base\ErrorHandler->handleFatalError()
    #1 {main}
    total 312K
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.572
    Симпатии:
    1.757
    В конфигах пыха стоит ограничение на память, надо увеличить. Или переписать то, что ты там пытаешься делать, так, чтоб не жрало столько памяти. Обычно для консоли ограничение на память не ставят. Где валяются конфиги - зависит от ОС.
     
  3. satex

    satex Новичок

    С нами с:
    15 фев 2023
    Сообщения:
    9
    Симпатии:
    0
    везде стоит memory_limit = -1
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.572
    Симпатии:
    1.757
    А чего ты там такое пилишь, чему нужно 2.7 гига памяти? И сколько памяти на машине, где это исполняется?
    --- Добавлено ---
    Если у тебя точно -1, получается, ОС отказала пыхе в выделении такого кол-ва памяти
     
  5. satex

    satex Новичок

    С нами с:
    15 фев 2023
    Сообщения:
    9
    Симпатии:
    0
    В прошлый раз такого вообще не было.
    PHP:
    1.     public function getJson($value = false)
    2.     {
    3.         $content = file_get_contents($this -> file);
    4.         $array = json_decode($content);
    5.         $allFields = [];
    6.         foreach ($array as $item) {
    7.             $this -> fields = [];
    8.             echo '.';
    9.             $allFields[] = $this -> allFields($item, $value);
    10.         }
    11.         return $allFields;
    12.     }
     
  6. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.572
    Симпатии:
    1.757
    А откель JSON? Какой у него объём, и чего там внутрях?
     
  7. satex

    satex Новичок

    С нами с:
    15 фев 2023
    Сообщения:
    9
    Симпатии:
    0
    JSON на 2 гига, массив.
    Дело не в этом, дело в том, что я первый раз когда писал, то всё работало.
    А как mmap грузится, оно от рождения там?
     
  8. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.846
    Симпатии:
    744
    Адрес:
    Татарстан
    Именно в этом, мб в прошлый раз файл поменьше был, а может в этот раз у тебя ещё какие то доп проги запущены, которые память отьедают
     
  9. satex

    satex Новичок

    С нами с:
    15 фев 2023
    Сообщения:
    9
    Симпатии:
    0
    ¯\_(ツ)_/¯
     
  10. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.572
    Симпатии:
    1.757
    Это сишная линуксовая функция для мапинга файла в память. Пыха на сишке написана. Ну значит где-то внутрях пыховых функций, которые ты используешь, она используется.
     
  11. satex

    satex Новичок

    С нами с:
    15 фев 2023
    Сообщения:
    9
    Симпатии:
    0
    А где она настраивается?
     
  12. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.572
    Симпатии:
    1.757
    Нигде. Это уже кишки пыхи.