Jump to content

VPS поджирает память


Rashp
 Share

Recommended Posts

Всем здравствуйте, есть 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 by Rashp
Link to comment
Share on other sites

В 05.11.2023 в 20:36, Rashp сказал:

выдает пока только: 2023-11-05 18:30:01: Наиболее ресурсоемкое приложение: mysqld (PID: 816), использование памяти: 169508 kB

170Мб - это совсем немного для БД. Учитывая то, что mysql запускает всего один процесс. 

Обычно основным потребителем памяти является апач, он может жрать столько же, но на каждый процесс (запрос), и если их много одновременно - память кончится достаточно быстро. 

Link to comment
Share on other sites

В 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 by Rashp
Link to comment
Share on other sites

В 05.11.2023 в 21:20, Rashp сказал:

т.е идет рост нагрузки, медленно но идет

Данные и запросы кэшируются вот и растет занятая память. Какой у вас объем БД?

 

В 05.11.2023 в 21:20, Rashp сказал:

я конечно сегодня включил по крону очистку sync; echo 1 > /proc/sys/vm/drop_caches - если уровень памяти упадет меньше 10 гиг, но это костыли.

А чем вам кэш ФС не угодил? Сбросили кэш ФС, вот и появилась свободная память. Не помню проблем с его освобождением при необходимости выделения памяти под процессы. Сброс по крону считаю лишним.

 

А что у вас top говорит, куда память вся ушла?

Link to comment
Share on other sites

  • 3 weeks later...
  • 4 months later...

Нашел где течет, причем случайно, когда переезжал на другой сервер.

Зашел в ini, который cli там был установлен memory_limit = -1, он собственно и выедал память, ограничил до 1024M, пока буду посмотреть, что из этого. получится

Edited by Rashp
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...