Как проверить свободную память исполнителя сборки Jenkins?

13

В Jenkins при нажатии на Build Executor Status я вижу только статистику свободного места на диске (URI:) /computer. Как я могу контролировать свободную системную память (RAM) в Jenkins?

Я спрашиваю, потому что иногда, когда у меня было слишком много исполнителей (несмотря на то, что у меня было настроено пространство подкачки, но не то, что указано ниже), Дженкинс часто зависал или зависал.

Jenkins at / computer - имя, архитектура, разница часов, свободное дисковое пространство, свободное пространство подкачки, свободное временное пространство, время отклика

kenorb
источник
5
Может оказаться полезным плагин для мониторинга: wiki.jenkins-ci.org/display/JENKINS/Monitoring
Assaf Lavie
2
Дополнительное примечание: интенсивная замена приведет к обходу даже самых мощных серверов, замедляя все процессы, включая исполнителей Jenkins и локальные решения для мониторинга. Что еще хуже: сборщики мусора в памяти также будут работать медленно, что еще больше подпитывает состояние. Для приличной производительности я бы посоветовал оставить размер подкачки небольшим, полагаясь в первую очередь на фактический объем ОЗУ при совместном использовании одного сервера для нескольких исполнителей и избегая чрезмерной чрезмерной подписки.
Дэн

Ответы:

8

Взгляните на плагин мониторинга . Вот еще некоторые подробности об этом (со связанной страницы):

  • Диаграммы памяти, процессора, средней загрузки системы, времени отклика http по дням, неделям, месяцам, годам или пользовательскому периоду
  • Статистика запросов HTTP со средним временем ответа, средним временем процессора, средним размером ответа по запросу и по дням, неделям, месяцам, годам или пользовательскому периоду
  • Ошибки и журналы
  • Текущие http запросы
  • Потоки
  • Гистограмма кучи (экземпляры и размеры по классам)
  • Http сессии
  • Список процессов ОС
  • MBeans
  • Действия для GC, дампа кучи и аннулировать сеанс (ы)
  • Отчет в HTML или PDF
  • На английском, немецком, французском, португальском или китайском
  • Дженкинс безопасности
  • Для узлов Дженкинса (рабов в целом):
    • Отчет по узлам доступен по адресу http://yourhost/monitoring/nodes
    • Диаграммы, агрегированные для всех узлов памяти, процессора, средней загрузки системы, количества запущенных сборок, длины очереди сборки, времени сборки за период
    • Подробная статистика времени сборки и шагов сборки за период
    • Потоки, список процессов и MBean для каждого узла
    • Гистограмма кучи, агрегированная для всех узлов
  • Для каждого отдельного узла (каждого узла в http://yourhost/computer) отчеты и действия доступны на странице «Мониторинг» в контекстном меню или в деталях узла:
    • Потоки, список процессов, MBeans только этого узла
    • Гистограмма кучи этого узла
    • Действия для GC, свалка кучи
  • И более...

Кредиты: Ассаф Лави (который впервые упомянул об этом в комментарии, но по какой-то причине не опубликовал это как фактический ответ ...).

Pierre.Vriens
источник
5

Что касается обходного пути, фактическую память можно проверить, вызвав команды Groovy непосредственно в консоли сценариев (at /computer/(master)/script). Пример команды:

println "free -m".execute().text
kenorb
источник
2
Альтернативная команда: awk '/MemFree:/ { print $2}' /proc/meminfoдля килобайта, свободного только от оперативной памяти, или альтернатива для памяти и awk '/(Mem|Swap)Free:/ { print }' /proc/meminfo
обмена
Я не уверен, могут ли скрипты awk выполняться через консоль скриптов Jenkins. Как я вижу, консоль сценариев Jenkins предназначена только для Groovy
olyv