1

У меня есть виртуальный частный сервер Linux с 1 ГБ памяти, но я продолжаю получать ошибки, такие как:

fork failed: Cannot allocate memory

Тем не менее, я не думаю, что у меня мало памяти. Если я бегу бесплатно:

root@server44:~# free -m
             total       used       free     shared    buffers     cached
Mem:          1024        133        890          0          0          0
-/+ buffers/cache:        133        890
Swap:            0          0          0
root@server44:~# man swapon
man: fork failed: Cannot allocate memory

У меня 890 Мб свободного места, но форк не работает. Есть идеи почему? На сервере, на котором работает мой сервер, не хватает памяти? Мой хост FsckVPS работает под управлением HyperVM.

2 ответа2

2

Какую технологию виртуализации вы используете? По крайней мере, для OpenVZ/Virtuozo команда «free» не показывает фактическую доступную память. Часто он показывает намного больше, чем сумма, фактически выделенная вашему срезу VPS.

Кроме того, существует несколько различных пределов «памяти», которые ограничивают различные типы памяти (в терминах OpenVZ это kmemsize, заблокированные страницы, privvmpages, shmpages, vmguarpages, oomguarpages и т.д.).

Если вы используете OpenVZ, проверьте /proc /user_beancounters, чтобы увидеть, какой лимит вы устанавливаете, отметьте в столбце failcnt.

2

Может ли быть так, что ваш хост чрезмерно перепродал ОЗУ на хосте, на котором работает ваша виртуальная машина? Может случиться так, что у вас будет только 128 МБ "выделенной" оперативной памяти, а остальное доступно для пакетной обработки, если в это время никакая другая виртуальная машина не использует ее. Если вы расскажете нам более подробно о среде, в которой вы работаете (с какой технологией виртуальных машин, каким хостинг-провайдером и каким из их продуктов), мы можем сказать, что вы должны это проверить.

По моему мнению, перепродавать ресурсы ОЗУ на хосте ВМ - плохая идея, но многие провайдеры хостинга делают это, если позволяет технология.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .