01

Сначала определите, какой это процесс

В диспетчере задач интерфейс клиента и ядро — два разных процесса. Высокая нагрузка от интерфейса почти всегда означает открытое окно, которое отрисовывает живой список соединений. Высокая нагрузка от ядра — это уже вопрос обработки трафика, и разбираться стоит именно с ней.

Первый шаг прост: закройте главное окно, оставьте программу в трее и понаблюдайте десять минут. Если нагрузка упала, проблемы нет. В простое ядро должно потреблять очень мало; копать дальше имеет смысл только при устойчивой загрузке целого ядра процессора.

Партнёрский материалОткуда взять ссылку на подписку?Партнёрский сервис даёт 1 ГБ высокоскоростного трафика Гонконга при регистрации — импорт в один клик.Получить быстрые серверы
02

Четыре проверки по порядку

  1. 1

    Уровень журналирования

    При включённом debug или trace записывается каждое соединение, и нагрузка заметно растёт. После диагностики верните info или warning — про этот пункт забывают чаще всего.

  2. 2

    Сниффинг доменов

    Сниффинг разбирает рукопожатие каждого соединения, чтобы восстановить домен. Он действительно полезен, когда правила опираются на домены, но обходится не бесплатно. Если он не нужен, выключите его или ограничьте портами 443 и 80.

  3. 3

    Интервал обновления наборов правил

    Много удалённых наборов правил с коротким интервалом означает постоянную загрузку и перекомпиляцию правил. Раз в сутки достаточно почти для любой конфигурации.

  4. 4

    Число соединений

    Менеджеры загрузок и пиринговые клиенты открывают тысячи сокетов. Отсортируйте страницу соединений по времени начала и поищите процесс, который непрерывно создаёт новые соединения.

03

Память не снижается — это проблема?

Память ядра растёт вместе с числом соединений и не возвращается системе сразу после их закрытия. Это обычное поведение среды выполнения Go, а не дефект. Правильный критерий: выходит ли расход памяти на плато в течение нескольких минут после падения числа соединений. Ненормален только устойчивый линейный рост; если вы его видите, запишите конфигурацию и версию ядра и сравните с предыдущим выпуском ядра.

  • Меняйте по одному параметру и наблюдайте десять минут перед следующим
  • Строгая маршрутизация TUN на некоторых адаптерах дорога — отключите её для сравнения
  • Для машин, работающих круглосуточно, отключите автопроверку задержки или увеличьте интервал
04

Частые вопросы

Стоит закрыть окно — и нагрузка нормальная. Это баг?

Нет. Страница соединений получает непрерывный поток данных от ядра, и её отрисовка чего-то стоит. Работа из трея — штатный сценарий.

На другом компьютере та же конфигурация не нагружает систему. Почему?

В первую очередь подозревайте драйвер сетевого адаптера и защитное ПО. Глубокая проверка виртуального адаптера проявляется как накладные расходы, приписанные процессу ядра, и выглядит так, будто виновато ядро.