Содержание
Приложение 1. Оптимизация потребления ресурсов
При проверке объектов приложение Kaspersky Embedded Systems Security использует ресурсы процессора, ввод-вывод дисковой подсистемы и оперативную память.
Чтобы посмотреть потребление ресурсов приложением, выполните следующую команду:
top -bn1|grep kess
Выполнять команду требуется в момент нагрузки на систему.
Вывод команды показывает количество потребляемой памяти и занимаемого процессорного времени:
651 root 20 0 3014172 2.302g 154360 S 120.0 30.0 0:32.80 kess
В столбце 6 отображается количество резидентной памяти – 2.302g
.
В столбце 9 отображается процент использования ядер процессора – 120.0, где каждое ядро принимается за 100 процентов. Таким образом, 120% означает, что одно ядро занято полностью, а второе – на 20%.
Если работа приложения Kaspersky Embedded Systems Security при проверке объектов критически замедляет работу системы, требуется провести настройку приложения для оптимизации потребления ресурсов системы.
Определение задачи, которая занимает ресурсы
Для того чтобы определить, какая задача или задачи приложения занимают ресурсы системы, требуется разделить потребление ресурсов задачей Защита от файловых угроз (тип OAS) и задачами проверки по требованию (типы ODS и ContainerScan).
Если приложение находится под управлением политики Kaspersky Security Center, требуется на время проведения исследования разрешить управление локальными задачами.
Анализ работы задачи Защита от файловых угроз
Чтобы проанализировать работу задачи Защита от файловых угроз:
- Остановите все задачи проверки и мониторинга.
- Убедитесь, что задачи проверки по требованию не будут запущены во время проверки или не имеют расписания. Вы можете сделать это через Kaspersky Security Center или локально, выполнив следующие действия:
- Получите список всех задач приложения, выполнив следующую команду:
kess-control --get-task-list
- Получите параметры расписания задачи поиска вредоносного ПО, выполнив следующую команду:
kess-control --get-schedule <ID
задачи
>
Если команда выводит
RuleType=Manual
, то задача запускается только вручную. - Получите параметры расписания всех ваших задач поиска вредоносного ПО и выборочной проверки, если такие были созданы, и укажите им запуск вручную, выполнив следующую команду:
kess-control --set-schedule <ID
задачи
> RuleType=Manual
- Получите список всех задач приложения, выполнив следующую команду:
- Включите создание файлов трассировки приложения с высоким уровнем детализации, выполнив следующую команду:
kess-control --set-app-settings TraceLevel=Detailed
- Запустите задачу Защита от файловых угроз, если она не была запущена, выполнив следующую команду:
kess-control --start-task 1
- Создайте нагрузку на систему в том же режиме, который вызвал проблемы с производительностью, достаточно нескольких часов.
Под нагрузкой приложение записывает много информации в файлы трассировки, при этом по умолчанию хранится 5 файлов по 500 МБ, поэтому старая информация будет перезаписываться. Если проблемы с производительностью и потреблением ресурсов перестали проявляться, значит, скорее всего, проблемы вызывают задачи проверки по требованию и можно перейти к анализу работы задач проверки c типами ContainerScan и ODS.
- Выключите создание файлов трассировки приложения, выполнив следующую команду:
kess-control --set-app-settings TraceLevel=None
- Определите список объектов, которые были проверены наибольшее количество раз, выполнив следующую команду:
fgrep 'AVP ENTER' /var/log/kaspersky/kess/kess.* | awk '{print $8}' | sort | uniq -c | sort -k1 -n -r|less
Результат загружается в приложение просмотра текста less, где в самом начале отображаются те объекты, которые были проверены наибольшее количество раз.
- Определите, являются ли опасными объекты, которые были проверены наибольшее количество раз. В случае затруднения обратитесь в Службу технической поддержки.
Например, неопасными можно признать директории и файлы журналов, если запись в них ведет доверенный процесс, файлы баз данных.
- Запишите пути к неопасным, по вашему мнению, объектам, они потребуются в дальнейшем для настройки исключений из проверки.
- Если в системе осуществляется частая запись файлов различными сервисами, такие файлы будут повторно проверяться в отложенной очереди. Определите список путей, которые были проверены в отложенной очереди наибольшее количество раз, выполнив следующую команду:
fgrep 'SYSCALL' /var/log/kaspersky/kess/kess.* | fgrep 'KLIF_ACTION_CLOSE_MODIFY' | awk '{print $9}' | sort | uniq -c | sort -k1 -n -r
Файлы, проверенные наибольшее количество раз, будут отображаться в начале списка.
- Если счетчик по одному файлу превышает несколько тысяч за несколько часов, определите, можно ли доверять этому файлу, чтобы исключить его из проверки.
Логика определения такая же, как и для предыдущего исследования (см. п. 8): файлы журналов можно признать неопасными, так как они не могут быть запущены.
- Даже если некоторые файлы исключены из проверки постоянной защитой, они все равно могут перехватываться приложением. Если исключение определенных файлов из постоянной защиты не приносит существенного прироста производительности, вы можете полностью исключить из перехвата приложением точку монтирования, где расположены эти файлы. Для этого выполните следующие действия:
- Получите список файлов, перехваченных приложением, выполнив следующую команду:
grep 'FACACHE.*needs' /var/log/kaspersky/kess/kess.* | awk '{print $9}' | sort | uniq -c | sort -k1 -n -r
- С помощью полученного списка определите пути, по которым происходит большое количество перехватов файловых операций, и настройте исключения из перехвата.
- Получите список файлов, перехваченных приложением, выполнив следующую команду:
Анализ работы задач проверки по требованию
Также большое потребление ресурсов может быть вызвано использованием задач с типами ODS и ContainerScan. Следуйте следующим рекомендациям по использованию задач с типом ODS:
- Убедитесь, что не выполняется запуск нескольких задач проверки по требованию одновременно. Приложение позволяет работать в таком режиме, но потребление ресурсов может сильно увеличиться. Проверьте расписание всех задач с типами ODS и ContainerScan локально (как описано для задачи Защита от файловых угроз) или через Kaspersky Security Center.
- Запускайте проверку во время наименьшей нагрузки на сервер.
- Убедитесь, что по указанному пути проверки нет примонтированных удаленных ресурсов (SMB / NFS). Если задача состоит в проверке удаленного ресурса и нет возможности выполнять ее непосредственно на сервере, предоставляющем ресурс, не выполняйте проверку на серверах c критическими сервисами, так как такая задача может выполняться достаточно долго (в зависимости от скорости соединения и количества файлов).
- Выполните оптимизацию параметров задачи проверки по требованию перед запуском.
Настройка задачи Защита от файловых угроз
Если после выполнения анализа работы задачи Защита от файловых угроз вы сформировали список директорий и файлов, которые можно исключить из проверки задачи, вам нужно добавить их в исключения.
Исключения из проверки
Чтобы исключить директорию /tmp/logs и все поддиректории и файлы рекурсивно, выполните следующую команду:
kess-control --set-settings 1 --add-exclusion /tmp/logs
Чтобы исключить конкретный файл или файлы по маске в директории /tmp/logs, выполните следующую команду:
kess-control --set-settings 1 --add-exclusion /tmp/logs/*.log
Чтобы исключить по рекурсивной маске все файлы с расширением .log в директории /tmp/ и поддиректориях, выполните следующую команду:
kess-control --set-settings 1 --add-exclusion /tmp/**/*.log
Исключения из перехвата
Если вы хотите исключить файлы определенной директории не только из проверки, но и из перехвата, вы можете исключить точку монтирования целиком.
Чтобы исключить точку монтирования целиком:
- Если директория не является точкой монтирования, нужно создать из нее точку монтирования. Например, чтобы создать точку монтирования из директории /tmp, выполнив следующую команду:
mount --bind /tmp/ /tmp
- Чтобы точка монтирования сохранилась после перезагрузки сервера, добавьте в файл /etc/fstab следующую строку:
/tmp /tmp none defaults,bind 0 0
- Добавьте директорию /tmp в глобальные исключения, выполнив следующую команду:
kess-control --set-app-settings ExcludedMountPoint.item_0000=/tmp
- Если требуется добавить несколько директорий, увеличивайте счетчик item_0000 на единицу (item_0001, item_0002 и так далее).
Исключать точки монтирования также рекомендуется, если это примонтированный удаленный ресурс с нестабильным или медленным соединением.
Изменение типа проверки
По умолчанию задача Защита от файловых угроз может проверять файлы при открытии и закрытии. Если в ходе анализа работы задачи Защита от файловых угроз было выявлено слишком много записываемых файлов, вы можете перевести задачу в режим работы только при открытии файлов, выполнив следующую команду:
kess-control --set-set 1 ScanByAccessType=Open
При таком режиме работы изменения, внесенные в файл после открытия, не будут проверяться до следующего обращения к файлу.
В началоНастройка задачи проверки по требованию
Настройка задач проверки по требованию с типами ODS и ContainerScan выполняется аналогично настройке исключений из проверки для задачи Защита от файловых угроз, но для задач проверки по требованию с типами ODS и ContainerScan неприменима настройка исключения точек монтирования.
Параметры исключений из проверки для одной задачи проверки не действуют на другие задачи проверки. Для каждой задачи проверки требуется настроить свои исключения.
Настройка приоритета
Для задач проверки по требованию предусмотрен параметр ScanPriority
, с помощью которого можно указать, как приложение распределяет ресурсы системы для запущенных задач.
Доступные значения:
Idle
– не более 10% загрузки одного процессора (вне зависимости от того, занят он или нет).Normal
– 50% загрузки всех доступных процессоров.High
– без ограничений.
Ограничение по загрузке процессоров также снижает потребление ресурсов ввода-вывода дисковой подсистемы.
Чтобы установить для задачи приоритет выполнения Idle, выполните следующую команду:
kess-control --set-settings <ID
задачи
> ScanPriority=Idle
Ограничение использования памяти для распаковки архивов
Задача проверки по требованию при рекурсивной проверке во время проверки архивов будет распаковывать их, используя оперативную память. По умолчанию приложение имеет ограничение в 40% от всей доступной оперативной памяти, но не менее 2 ГБ. Поэтому если система имеет более 5 ГБ оперативной памяти, можно установить ограничение на использование памяти вручную. Это особенно актуально для серверов, имеющих сотни гигабайт оперативной памяти.
Чтобы указать ограничение на использование памяти при проверке:
- Остановите Kaspersky Embedded Systems Security.
- Откройте файл /var/opt/kaspersky/kess/common/kess.ini на редактирование.
- Добавьте параметр
ScanMemoryLimit
с нужным значением (например, 8192) в секцию[General]
:ScanMemoryLimit=8192
- Запустите Kaspersky Embedded Systems Security.
Параметр ScanMemoryLimit
ограничивает не общее количество памяти, которое использует приложение, а количество памяти, которое используется при проверке файлов, то есть общее количество памяти может быть больше значения, заданного этим параметром.