1

У меня есть VPS с хостинговой компанией. У меня есть некоторые плохо написанные сценарии Perl, которые используют MySQL. Мой MySQL сервер упал. Хостинговая компания говорит, что серверу не хватило памяти. В то время, когда у меня нет трафика на VPS, моя хостинговая компания запускала «бесплатно», и следствием является результат.

       total used free shared buffers cached
 Mem:  1024   963   60      0       0    746
 -/+ buffers/cache: 217 806
 Swap:    0     0    0

Говорят, у меня всего 60 мб свободного. Это тот случай? Нужно ли обновлять память?

2 ответа2

3

Да, это случай, когда свободно только 60 Мб, но это нормально, так как linux предназначен для использования как можно большего объема доступной памяти, чтобы максимизировать производительность за счет кэширования.

Любая память, используемая для кэширования, освобождается при необходимости приложением.

Таким образом, существует разница между памятью, которая "свободна", как в, в настоящее время не используется, и памятью, которая "доступна", которая может использоваться для чего-то, но может быть предоставлена приложению по мере необходимости.

"Доступная" память - это та, которая важна, и это последняя цифра после -/+ buffers/cache: В вашем случае 806МБ.

С MySQL и хитроумными скриптами эта память может быть использована довольно быстро.

Я бы предложил добавить некоторое пространство подкачки, чтобы, если у вас закончилась работа, ваша машина не запускала завершающие процессы, но могла расширяться в дисковое хранилище для "дополнительной" памяти. Это означает, что он начнет идти медленнее, чем ломаться.

Создайте файл подкачки:

 # dd if=/dev/zero of=/swap.tmp bs=1M count=1024

Это создаст пустой файл размером 1024 МБ.

 # mkswap /swap.tmp

Это превращает файл во что-то, что можно использовать для подкачки.

 #swapon /swap.tmp

Это активирует пространство подкачки - посмотрите на free чтобы увидеть разницу.

Затем отредактируйте /etc/fstab и убедитесь, что swap включен при загрузке, добавив эту строку (после монтирования root):

 /swap.tmp none swap defaults 0 0 
0

Нет. То, на что вы должны обратить внимание, это строка -/+ buffers/cache . Первая строка включает в себя такие вещи, как кэшированные файлы, которые использует ядро, но может безопасно избавиться при необходимости. Смотрите также https://serverfault.com/a/85481 .

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