Назад | Перейти на главную страницу

VPS жрет оперативку?

У меня есть VPS с 512 МБ ОЗУ с пакетом 1 ГБ от TelVPS. Для VPS места подкачки нет.

Я обсуждал это с моим поставщиком услуг, но они сказали, что не предоставляют пространство подкачки для VPS, Могу ли я добавить собственное пространство под SWAP?

У меня следующая установка:

У меня запущено 3 приложения rails, но это тестовые приложения с низким трафиком или без него.

top а панель управления VPS показывает, что моя система использует около 880 МБ ОЗУ. Но результат списка процессов top не показывает никаких процессов, пожирающих память. я прочитал http://www.linuxatemyram.com/. Но вот результат free -m

root@serveme:/var/www# free -m
             total       used       free     shared    buffers     cached
Mem:          1024        819        204          0          0          0
-/+ buffers/cache:        819        204
Swap:            0          0          0

У меня есть два вопроса по поводу этой ситуации:

1). Как решить проблему съедания памяти? (Пожалуйста, дайте мне знать, если потребуется дополнительная информация)
2). Могу ли я добавить место под SWAP? Если да, то как? Безопасно ли добавлять пространство подкачки после настройки системы?

РЕДАКТИРОВАТЬ:

1). Память: я бежал ps -axu --sort -rss | head -n 10 как было предложено Фоксом (в комментариях), и я обнаружил, что мой sunspot (жемчужина рельсов для полнотекстового поиска на основе solr) пожирала память. Есть варианты ограничения использования памяти для солнечных пятен.

2). Место подкачки

Выполнив шаги Тома в принятом ответе.

Вероятно, это все, что вы можете сделать напрямую с использованием памяти. Ruby on Rails сильно требует памяти, особенно когда ORM строит рекурсивные ActiveRecords глубоких объектов. Apache тоже не особо легкий.

Вы можете захотеть схватить MySQL тюнер и посмотрите, сколько оперативной памяти было украдено базой данных при пиковом использовании (кеш таблиц, кеш запросов, пулы соединений).

Добавление свопа постфактум легко, но может быть очень медленным. Тем более, что большинство VPS используют чрезмерно загруженные серверные модули ввода-вывода с недостаточной мощностью.

Сделаем файл подкачки 512 МБ

  1. dd if=/dev/zero of=/swapfile1 bs=1024 count=524288 Это создает разреженный файл размером 512 МБ в / swapfile.
  2. mkswap /swapfile1 Это форматирует его для использования подкачки
  3. swapon /swapfile1 Это говорит ядру использовать его для свопа
  4. vim /etc/fstab Отредактируйте Fstab, а затем
  5. /swapfile1 swap swap defaults 0 0 Добавьте эту строку в конец файла, чтобы при перезагрузке вы снова получили тот же раздел подкачки.