Существует несколько механизмов, доступных на Linux к твердому ограничению память, доступная процессу.
В более новых системах можно использовать cgroups, и если это доступно, это - вероятно, лучшее решение. (Используйте инструменты от libcgroup
пакет для автоматической классификации mysql демона в контрольную группу памяти с memory.limit_in_bytes = 64M;
или что бы то ни было.
В более старых системах, если mysql демон запускается сценарием, Вы могли бы просто использовать ulimit
для ограничения доступной памяти — помещает a ulimit -v 65536
оператор в сценарии выше, где демон на самом деле запускается.
Тем не менее с современным программным обеспечением, это действительно продвигает то, что можно сойти с рук. Вам, возможно, просто понадобится больше RAM, чем Вы имеете. Одна опция могла бы состоять в том, чтобы переключиться на SQLite вместо MySQL — затем у Вас нет отдельного демона, работающего вообще.
Amazon имеет множество ограничений на то, что вы можете делать с электронной почтой SMTP через EC2. Лучше всего использовать их службу SES для отправки электронной почты. Это дешево, и вам не нужно обслуживать почтовый сервер.