|
| Дата |
|
USD/RUB | 88.4375 | BTC/USD | 68049.7798 |
|
|
|
Хостинг и железо Обсуждаем вопросы хостинга и железа. |
05.09.2016, 16:56
|
#1
|
Senior Member
Регистрация: 08.10.2011
Сообщений: 166
Бабло: $45525
|
Как определить, что жрет оперативу на сервере?
Есть ВДС с несколькими сайтами. Есть панель управления ИСПМенеджер 5.
Недавно на сервере что-то начало жрать оперативу. Через консоль с помощью утилит htop удалось выяснить, что это процессы mariadb.
Как понять какой именно файл и какой именно сайт жрут оперативу? На сервере ничего не менялось в тот момент, когда начало жрать.
|
|
|
05.09.2016, 17:50
|
#2
|
Senior Member
Регистрация: 20.04.2013
Сообщений: 109
Бабло: $23700
|
mariadb ставят вместо mysql для поздних rhel, типа centos 7.
Следовательно, смотри что у тебя с базами/таблицами, что-то разрослось видимо. Надо базу оптимизировать, или сам сервер. По базе - чистить ненужные таблицы, добавлять индексы. По серверу - для mysql есть такой скрипт, mysqltuner.pl, пишет, какие параметры в конфиге надо поправить с учетом твоей нагрузки, возможно он и под mariadb подойдет, или поищи аналог.
Возможно оптимизацией особо не улучшишь, если в принципе оперативной памяти уже маловато.
По поводу того, что именно жрет - в phpmyadmin есть раздел "Список процессов", там можно глянуть, какие запросы много времени работают, глядя на запросы можно определить, что за таблицы, по каких полям идут сортировки, ну и в принципе, попробовать поискать скрипты, из которых они вызываются.
Последний раз редактировалось скабичевский; 05.09.2016 в 17:59.
|
|
|
06.09.2016, 10:10
|
#3
|
Senior Member
Регистрация: 05.09.2008
Сообщений: 606
Бабло: $124350
|
скабичевский дело говорит, что-то с базой ... скорее всего какая то таблица разрослась и мускуль выполняя запросы отжирает память, в принципе если память забивается не более 80% то ничего страшного, иногда для больших баз специально увеличивают параметры, что б кэши и буферы были больше и лежали в ram для большего быстродействия.
|
|
|
06.09.2016, 18:08
|
#4
|
Senior Member
Регистрация: 27.05.2015
Сообщений: 180
Бабло: $26105
|
htop ?
|
|
|
11.09.2016, 21:39
|
#6
|
Юниор
Регистрация: 11.09.2016
Сообщений: 5
Бабло: $1530
|
В настройках базы найди куда пишутся логи длинных запросов (которые много времени жрут). Обычно просто не хватает индексов или просто кривые и сложные запросы люди делают.
|
|
|
11.09.2016, 21:52
|
#7
|
Senior Member
Регистрация: 18.05.2009
Сообщений: 925
Бабло: $196595
|
Вообще проблема изначально немного криво описана. Сервер mysql (mariadb) устроен так, что вся допустимая память, которую он может сожрать, описывается в конфиге. Поэтому, когда на конкретном конфиге mysql сожрал память, это не бага, а фича. Фича этого конкретного конфига. Можно например уменьшить в нём память, доступную mysql-серверу. Это, конечно, не отменяет того факта, что какое-то приложение может генерировать глючные запросы, которым не хватает индексов, или которые криво написаны.
NaughtySpider правильно посоветовал включить лог медленных запросов и посмотреть, кто их генерит.
__________________
TgScan - узнай Telegram группы, в которых состоит человек
|
|
|
22.09.2016, 15:06
|
#8
|
Ебланнед
Регистрация: 22.09.2016
Адрес: Россия, Москва
Сообщений: 93
Бабло: $18900
|
Цитата:
Сообщение от mr.Charlie
|
Поддерживаю, это точно поможет решить проблему. Первым делом нужно было смотреть логи.
|
|
|
01.10.2016, 15:30
|
#9
|
Юниор
Регистрация: 26.09.2016
Сообщений: 15
Бабло: $3550
|
Кроме логов, почему не запустить программу или не попросить помощи у хостера? У них есть ресурсы, чтобы вам помочь в два клика. Может придётся их подёргать или немного доплатить, но зато результат будет.
|
|
|
|