Я запускаю две «службы», которые обслуживаются в пространстве ядра Linux:
Теперь я хочу (производительность) контролировать свое «приложение», как любое другое программное обеспечение, которое я использую. Что бы это было в основном? Процессорное время и память.
Как мне вытащить их из ядра? Потребление памяти iptables можно оценить по размеру таблицы отслеживания соединений, как и для ipvs. Для меня это нормально, но любые подсказки приветствуются.
Но - как насчет времени ЦП, затрачиваемого на обработку маршрутизации, межсетевого экрана и балансировки нагрузки?
Включает ли «системное» время обработку пересылки и фильтрации пакетов? А как насчет обработки ipvs?
Любое процессорное время, потраченное на ядро, учитывается «системным». Это включает всю обработку netfilter и IPVS, потому что это весь код пространства ядра.
Что касается памяти, опять же, все данные являются структурами данных ядра, поэтому они нигде не отображаются как отдельная подотчетная группа. Как вы предполагаете, единственный способ получить представление о том, сколько памяти используется, - это изучить размер таблиц состояний conntrack и IPVS.