Почему моему VPS не хватает памяти?

2509
FigBug

У меня есть виртуальный частный сервер 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.

1
это, вероятно, должно быть на сервере davr 14 лет назад 0
Я отправил электронное письмо своему хосту, и они сказали: «Ваш сервер использует выделенную память ядра, я поднял его сейчас, и с такими проблемами вы больше не столкнетесь». Как бы то ни было, похоже, это работает сейчас. FigBug 14 лет назад 0

2 ответа на вопрос

2
davr

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

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

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

2
David Spillett

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

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