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