У меня VPS на Hypervm
в списке процедур у меня есть что-то вроде этого
> /usr/libexec/mysqld --basedir=/usr
> --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/
user : mysql
который занимает 150 МБ ОЗУ
а потом
/usr/sbin/named -u named -t /var/named/chroot
user : Named
50 МБ ОЗУ занято этим процессом
как я могу решить эту проблему чрезмерного использования оперативной памяти и уменьшить ее.
У меня есть доступ к руту и SSH
HyperVM - это не платформа виртуализации, это панель управления для OpenVZ или Xen. Какие из них работают на вашем VPS, могут быть важны для решения этой проблемы, поэтому вам следует выяснить, какие из них вы используете.
Если вы используете OpenVZ, часть "использования" памяти может происходить из-за измерения распределения стека вместо фактического использования памяти. Вам следует запустить «ps aux» и обратить внимание на поля RSS и VSZ. Если named или mysql мало в RSS, но много в VSZ, вам следует попробовать уменьшить размер стека с помощью чего-то вроде «ulimit -s 256» в сценарии запуска службы. См. Статью lowendbox об этом.
Использование памяти MySQL можно сократить, удалив поддержку таблиц, отличных от MyISAM, если ваше приложение будет с этим в порядке. У lowendbox есть много статей об этом, в том числе один на запущенных 18 статических сайтах и Wordpress на 64 МБ VPS.
Вы используете MySQL и / или Bind на этом VPS? Если нет, удалите или отключите их. В противном случае вам нужно будет погрузиться в файлы конфигурации для обеих служб.
Если ничего не помогает, добавьте больше памяти!