Rashp Опубликовано 5.11.2023 в 15:36 Поделиться Опубликовано 5.11.2023 в 15:36 (изменено) Всем здравствуйте, есть VPS на Debian 6 ядер, 32 гига RAM настроен на работу как часы, но иногда часы сбоят раз в несколько дней выжирает память до 3 гигов Сегодня аж поплохело посмотрел cat /proc/meminfo, а там MemFree: 370000 kb сегодня поставил скрипт на крон: #!/bin/bash LOG_FILE=/var/www/logs/memory/memory.log write_to_log() { echo "$(date "+%Y-%m-%d %H:%M:%S"): $1" >> "$LOG_FILE" } while true; do process_info=$(ps aux --sort -rss | head -n 2 | tail -n 1) pid=$(echo "$process_info" | awk '{print $2}') memory=$(echo "$process_info" | awk '{print $6}') process_name=$(ps -p "$pid" -o comm=) write_to_log "Наиболее ресурсоемкое приложение: $process_name (PID: $pid), использование памяти: $memory kB" echo "Наиболее ресурсоемкое приложение: $process_name (PID: $pid), использование памяти: $memory kB" sleep 300 done выдает пока только: 2023-11-05 18:30:01: Наиболее ресурсоемкое приложение: mysqld (PID: 816), использование памяти: 169508 kB есть кто знающий - может мускуль так память выжирать? (я пока мониторить только начал процессы) Если это мускуль, как остановить утечку памяти? Изменено 5.11.2023 в 15:38 пользователем Rashp 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Sig Опубликовано 5.11.2023 в 15:52 Поделиться Опубликовано 5.11.2023 в 15:52 В 05.11.2023 в 20:36, Rashp сказал: выдает пока только: 2023-11-05 18:30:01: Наиболее ресурсоемкое приложение: mysqld (PID: 816), использование памяти: 169508 kB 170Мб - это совсем немного для БД. Учитывая то, что mysql запускает всего один процесс. Обычно основным потребителем памяти является апач, он может жрать столько же, но на каждый процесс (запрос), и если их много одновременно - память кончится достаточно быстро. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Rashp Опубликовано 5.11.2023 в 16:20 Автор Поделиться Опубликовано 5.11.2023 в 16:20 (изменено) В 05.11.2023 в 18:52, Sig сказал: 170Мб - это совсем немного для БД. Учитывая то, что mysql запускает всего один процесс. Обычно основным потребителем памяти является апач, он может жрать столько же, но на каждый процесс (запрос), и если их много одновременно - память кончится достаточно быстро. нет у меня апача и почтаря тоже, все ресурсы на сервере заточены под магазин, уже лет 8 как живу под php-fpm + nginx последний лог был: 2023-11-05 19:10:01: Наиболее ресурсоемкое приложение: mysqld (PID: 816), использование памяти: 200904 kB 2023-11-05 19:10:01: Наиболее ресурсоемкое приложение: mysqld (PID: 816), использование памяти: 200904 kB 2023-11-05 19:10:01: Наиболее ресурсоемкое приложение: mysqld (PID: 816), использование памяти: 200904 kB 2023-11-05 19:10:01: Наиболее ресурсоемкое приложение: mysqld (PID: 816), использование памяти: 200904 kB 2023-11-05 19:10:01: Наиболее ресурсоемкое приложение: mysqld (PID: 816), использование памяти: 200904 kB 2023-11-05 19:10:01: Наиболее ресурсоемкое приложение: mysqld (PID: 816), использование памяти: 200904 kB 2023-11-05 19:10:01: Наиболее ресурсоемкое приложение: mysqld (PID: 816), использование памяти: 200904 kB 2023-11-05 19:10:01: Наиболее ресурсоемкое приложение: mysqld (PID: 816), использование памяти: 200904 kB 2023-11-05 19:10:01: Наиболее ресурсоемкое приложение: mysqld (PID: 816), использование памяти: 200904 kB 2023-11-05 19:10:01: Наиболее ресурсоемкое приложение: mysqld (PID: 816), использование памяти: 200904 kB 2023-11-05 19:10:02: Наиболее ресурсоемкое приложение: mysqld (PID: 816), использование памяти: 200904 kB т.е идет рост нагрузки, медленно но идет вчера сервер матерился на нагрузку CPU более 100%, может пионеры ддосить пытались, не знаю. У меня меньше 29 гиг использование памяти не снижалось последнее время, а тут до 3,7 упало, я конечно сегодня включил по крону очистку sync; echo 1 > /proc/sys/vm/drop_caches - если уровень памяти упадет меньше 10 гиг, но это костыли. Хотелось бы найти все же причину такого поведения сервера. Постоянно пинать сервант, тоже не хочется. Ребутом конечно все лечится, но хочется чтоб по человечески работало все. Изменено 5.11.2023 в 17:03 пользователем Rashp 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Sig Опубликовано 6.11.2023 в 12:38 Поделиться Опубликовано 6.11.2023 в 12:38 В 05.11.2023 в 21:20, Rashp сказал: т.е идет рост нагрузки, медленно но идет Данные и запросы кэшируются вот и растет занятая память. Какой у вас объем БД? В 05.11.2023 в 21:20, Rashp сказал: я конечно сегодня включил по крону очистку sync; echo 1 > /proc/sys/vm/drop_caches - если уровень памяти упадет меньше 10 гиг, но это костыли. А чем вам кэш ФС не угодил? Сбросили кэш ФС, вот и появилась свободная память. Не помню проблем с его освобождением при необходимости выделения памяти под процессы. Сброс по крону считаю лишним. А что у вас top говорит, куда память вся ушла? 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Nameless Опубликовано 25.11.2023 в 21:05 Поделиться Опубликовано 25.11.2023 в 21:05 а если htop запустить и посмотреть, что там жрет. база может выжирать при обновлении прайсов на пример 0 Цитата SEO для вашего проекта (дорого, богато) Ссылка на комментарий Поделиться на другие сайты Поделиться
Rashp Опубликовано 4.04.2024 в 08:00 Автор Поделиться Опубликовано 4.04.2024 в 08:00 (изменено) Нашел где течет, причем случайно, когда переезжал на другой сервер. Зашел в ini, который cli там был установлен memory_limit = -1, он собственно и выедал память, ограничил до 1024M, пока буду посмотреть, что из этого. получится Изменено 5.04.2024 в 07:49 пользователем Rashp 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.