Rashp Posted November 5, 2023 at 03:36 PM Share Posted November 5, 2023 at 03:36 PM (edited) Всем здравствуйте, есть 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 есть кто знающий - может мускуль так память выжирать? (я пока мониторить только начал процессы) Если это мускуль, как остановить утечку памяти? Edited November 5, 2023 at 03:38 PM by Rashp 0 Quote Link to comment Share on other sites More sharing options...
Sig Posted November 5, 2023 at 03:52 PM Share Posted November 5, 2023 at 03:52 PM В 05.11.2023 в 20:36, Rashp сказал: выдает пока только: 2023-11-05 18:30:01: Наиболее ресурсоемкое приложение: mysqld (PID: 816), использование памяти: 169508 kB 170Мб - это совсем немного для БД. Учитывая то, что mysql запускает всего один процесс. Обычно основным потребителем памяти является апач, он может жрать столько же, но на каждый процесс (запрос), и если их много одновременно - память кончится достаточно быстро. 0 Quote Link to comment Share on other sites More sharing options...
Rashp Posted November 5, 2023 at 04:20 PM Author Share Posted November 5, 2023 at 04:20 PM (edited) В 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 гиг, но это костыли. Хотелось бы найти все же причину такого поведения сервера. Постоянно пинать сервант, тоже не хочется. Ребутом конечно все лечится, но хочется чтоб по человечески работало все. Edited November 5, 2023 at 05:03 PM by Rashp 0 Quote Link to comment Share on other sites More sharing options...
Sig Posted November 6, 2023 at 12:38 PM Share Posted November 6, 2023 at 12:38 PM В 05.11.2023 в 21:20, Rashp сказал: т.е идет рост нагрузки, медленно но идет Данные и запросы кэшируются вот и растет занятая память. Какой у вас объем БД? В 05.11.2023 в 21:20, Rashp сказал: я конечно сегодня включил по крону очистку sync; echo 1 > /proc/sys/vm/drop_caches - если уровень памяти упадет меньше 10 гиг, но это костыли. А чем вам кэш ФС не угодил? Сбросили кэш ФС, вот и появилась свободная память. Не помню проблем с его освобождением при необходимости выделения памяти под процессы. Сброс по крону считаю лишним. А что у вас top говорит, куда память вся ушла? 0 Quote Link to comment Share on other sites More sharing options...
Nameless Posted November 25, 2023 at 09:05 PM Share Posted November 25, 2023 at 09:05 PM а если htop запустить и посмотреть, что там жрет. база может выжирать при обновлении прайсов на пример 0 Quote SEO для вашего проекта (дорого, богато) Link to comment Share on other sites More sharing options...
Rashp Posted April 4, 2024 at 08:00 AM Author Share Posted April 4, 2024 at 08:00 AM (edited) Нашел где течет, причем случайно, когда переезжал на другой сервер. Зашел в ini, который cli там был установлен memory_limit = -1, он собственно и выедал память, ограничил до 1024M, пока буду посмотреть, что из этого. получится Edited April 5, 2024 at 07:49 AM by Rashp 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.