Началась история с попытки установить Laravel на слабенькую виртуалку. Стандартная команда composer'а начинала работать, что-то делала и потом выдавала "killed". В результате поиска причины выяснил, что скорее всего не хватает оперативной памяти, из-за чего процесс аварийно завершается. Что делать? Иcпользовать SWAP.
Для начала имеет смысл проверить, включено ли использование swap в системе, а также выяснить общую ситуацию с памятью.
total used free shared buff/cache available
Mem: 488M 155M 72M 28M 261M 270M
Swap: 0 0 858M
Опция -h команды free позволяет показать расход оперативной памяти в человекочитаемом формате, то есть автоматически определяет наиболее удобные единицы измерения. В моём случае всего (total) в распоряжении имеется 488 мегабайт оперативки, чего и не хватало для нормальной работы composer, он требует около 800Мб.
Поскольку swap действительно нужен, то переходим к его созданию. Для этого создаём файл желаемого размера. Я, например, вырал имя /swap в корне и объём 1 Гб. После этого выдаём (а вернее отнимаем) необходимые права на файл, инициализируем его использование и проверяем результат.
-rw-------. 1 root root 1.0G Nov 27 06:01 /swap
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=03b8edff-20d7-4137-a65f-ae5708c5948h
Настройка закончена, можно проверить результат.
Filename Type Size Used Priority
/swap file 1048572 169540 -1
total used free shared buff/cache available
Mem: 488M 154M 71M 28M 262M 270M
Swap: 1.0G 165M 858M
Финальный аккорд. Файл надо закрепить, чтобы он автоматически исползовалися и после перезагрузки. Для этого воспользуемся командой fstab, в открывшемся редакторе надо будет дописать внизу одну строку.
/swap swap swap sw 0 0
После этого памяти стало хватать, composer успешно завершил свою работу и смог поставить все требуемые зависимости.
Инструкция по настройке swap взята из статьи на DigitalOcean.