Sobes.tech
Back to questions
Junior — Middle
79

Какие основные системные показатели ты знаешь и можешь использовать для мониторинга ресурсов?

Answer from AI

sobes.tech AI

Основные системные показатели для мониторинга ресурсов:

  • CPU Usage (Загрузка процессора): процент использования процессора, помогает выявлять перегрузки.
  • Memory Usage (Использование памяти): объем занятой и свободной оперативной памяти.
  • Disk I/O (Ввод/вывод на диск): скорость чтения и записи, задержки.
  • Network I/O (Сетевая активность): объем переданных и полученных данных, количество ошибок.
  • Load Average: средняя нагрузка на систему за определённый период.
  • Number of Goroutines (для Go): количество активных горутин, может указывать на утечки.
  • Garbage Collection metrics: время и частота сборок мусора.

В Go можно использовать пакет runtime для получения информации о горутинах и сборке мусора:

import (
    "fmt"
    "runtime"
)

func printStats() {
    var m runtime.MemStats
    runtime.ReadMemStats(&m)
    fmt.Printf("Goroutines: %d\n", runtime.NumGoroutine())
    fmt.Printf("Alloc = %v MiB\n", m.Alloc / 1024 / 1024)
    fmt.Printf("TotalAlloc = %v MiB\n", m.TotalAlloc / 1024 / 1024)
    fmt.Printf("Sys = %v MiB\n", m.Sys / 1024 / 1024)
    fmt.Printf("NumGC = %v\n", m.NumGC)
}