Время от времени «мой» сервер останавливается, потому что ему не хватает памяти и пространства подкачки. (он продолжает отвечать на ping, но не более того, даже ssh).
Мне сказали, что linux выполняет чрезмерную загрузку памяти, что, насколько я понимаю, то же самое, что банки делают с деньгами: он предоставляет процессам больше памяти, чем фактически доступно, при условии, что большинство процессов на самом деле не будут использовать всю память, которую они запрашивают, в хотя бы не все одновременно.
Пожалуйста, предположите, что это на самом деле причина, по которой моя система иногда зависает, давайте не будем здесь обсуждать, так ли это (см. Что может привести к остановке ВСЕХ служб на сервере, но при этом все еще реагировать на ping? И как это выяснить ) ,
Так,
Как я могу отключить или резко уменьшить чрезмерное использование памяти в CentOS? Я читал, что есть две настройки, называемые vm.overcommit_memory (значения 0, 1 или 2) и vm.overcommit_ratiom, но я понятия не имею, где я должен найти и изменить их (надеюсь, некоторые файлы конфигурации), какие значения я должен попробовать и нужно ли перезагрузить сервер, чтобы изменения вступили в силу.
и это безопасно? Какие побочные эффекты можно ожидать? При поиске по overcommit_memory я нахожу страшные вещи, как люди говорят, что их сервер больше не может загружаться ....
Так как причиной внезапного увеличения использования памяти является mysql из-за запросов, выполняемых php, который, в свою очередь, вызывается при обслуживании http-запросов, я ожидаю, что какой-то сценарий php не будет завершен, и, следовательно, время от времени будет происходить около 500 ответов, когда сервер слишком занят, и это риск, на который я могу пойти (конечно, лучше, если весь сервер станет недоступным и придется его перезагрузить).
Или это может привести к невозможности перезагрузки моего сервера, если я выберу неправильные настройки?