Compartir a través de


Solución de problemas de rendimiento para Microsoft Defender para punto de conexión en Linux

Se aplica a:

¿Quiere experimentar Defender para punto de conexión? Regístrese para obtener una prueba gratuita.

En este artículo se describe cómo restringir los problemas de rendimiento relacionados con Defender para punto de conexión en Linux. Las herramientas de diagnóstico están disponibles para ayudarle a comprender y mitigar la escasez de recursos y los procesos existentes que afectan al rendimiento. Estas herramientas de diagnóstico también se pueden usar para mejorar la visibilidad dentro del portal de Microsoft Defender. Los cuellos de botella en uno o varios subsistemas de hardware provocan principalmente problemas de rendimiento, en función del perfil de uso de recursos en el sistema. A veces, las aplicaciones son sensibles a los recursos de E/S de disco y pueden necesitar más capacidad de CPU, y a veces algunas configuraciones no son sostenibles, y pueden desencadenar demasiados procesos nuevos y abrir demasiados descriptores de archivo.

En función de las aplicaciones que ejecute y de las características del dispositivo, puede experimentar un rendimiento poco óptimo al ejecutar Defender para punto de conexión en Linux. En concreto, las aplicaciones o los procesos del sistema que acceden a muchos recursos, como CPU, disco y memoria a través de un intervalo de tiempo corto, pueden provocar problemas de rendimiento en Defender para punto de conexión en Linux.

Advertencia

Antes de comenzar, asegúrese de que otros productos de seguridad no se ejecutan actualmente en el dispositivo. Varios productos de seguridad pueden entrar en conflicto e afectar al rendimiento del host.

Hay tres maneras distintas de solucionar problemas de procesos y directorios ruidosos mediante las herramientas de diagnóstico de Microsoft Defender para punto de conexión en Linux:

  • Uso de estadísticas de protección en tiempo real
  • Uso de orígenes de eventos frecuentes
  • Uso de estadísticas de eBPF

Solución de problemas de rendimiento mediante estadísticas de protección en tiempo real

Se aplica a:

  • Solo los problemas de rendimiento relacionados con el antivirus

La protección en tiempo real (RTP) es una característica de Defender para punto de conexión en Linux que supervisa y protege continuamente el dispositivo frente a amenazas. Consta de supervisión de archivos y procesos y otras heurísticas.

Los pasos siguientes se pueden usar para solucionar y mitigar estos problemas:

  1. Deshabilite la protección en tiempo real mediante uno de los métodos siguientes y observe si el rendimiento mejora. Este enfoque ayuda a restringir si Defender para punto de conexión en Linux está contribuyendo a los problemas de rendimiento. Si su organización no administra el dispositivo, la protección en tiempo real se puede deshabilitar desde la línea de comandos:

    mdatp config real-time-protection --value disabled
    
    Configuration property updated
    

    Si su organización administra el dispositivo, el administrador puede deshabilitar la protección en tiempo real mediante las instrucciones de Establecer preferencias para Defender para punto de conexión en Linux.

    Nota:

    Si el problema de rendimiento persiste mientras la protección en tiempo real está desactivada, el origen del problema también podría ser el componente de detección y respuesta de puntos de conexión (EDR). En este caso, debe agregar exclusiones globales de Antivirus y EDR. En este caso, siga los pasos de la sección Solución de problemas de rendimiento mediante orígenes de eventos frecuentes.

  2. Para buscar las aplicaciones que desencadenan la mayoría de los exámenes, puede usar estadísticas en tiempo real recopiladas por Defender para punto de conexión en Linux.

    Nota:

    Esta característica está disponible en la versión 100.90.70 o posterior.

    Esta característica está habilitada de forma predeterminada en los Dogfood canales y InsiderFast . Si usa un canal de actualización diferente, esta característica se puede habilitar desde la línea de comandos:

    mdatp config real-time-protection-statistics --value enabled
    

    Esta característica requiere que se habilite la protección en tiempo real. Para comprobar el estado de la protección en tiempo real, ejecute el siguiente comando:

    mdatp health --field real_time_protection_enabled
    

    Compruebe que la real_time_protection_enabled entrada es true. De lo contrario, ejecute el siguiente comando para habilitarlo:

    mdatp config real-time-protection --value enabled
    
    Configuration property updated
    

    Para recopilar estadísticas actuales, ejecute:

    mdatp diagnostic real-time-protection-statistics --output json
    

    Nota:

    El uso --output json de (tenga en cuenta el guion doble) garantiza que el formato de salida esté listo para el análisis.

    La salida de este comando muestra todos los procesos y su actividad de examen asociada.

  3. Escriba los siguientes comandos:

    mdatp diagnostic real-time-protection-statistics --sort --top 4
    

    La salida es una lista de los cuatro principales colaboradores de los problemas de rendimiento. Por ejemplo, la salida del comando es similar a la siguiente:

    =====================================
    Process id: 560
    Name: NetworkManager
    Path: "/usr/sbin/NetworkManager"
    Total files scanned: 261
    Scan time (ns): "3070788919"
    Status: Active
    =====================================
    Process id: 1709561
    Name: snapd
    Path: "/snap/snapd/23545/usr/lib/snapd/snapd"
    Total files scanned: 247
    Scan time (ns): "19926516003"
    Status: Active
    =====================================
    Process id: 596
    Name: systemd-logind
    Path: "/usr/lib/systemd/systemd-logind"
    Total files scanned: 29
    Scan time (ns): "716836547"
    Status: Active
    =====================================
    Process id: 1977683
    Name: cupsd
    Path: "/usr/sbin/cupsd"
    Total files scanned: 20
    Scan time (ns): "985110892"
    Status: Active
    =====================================
    

    Para mejorar el rendimiento de Defender para punto de conexión en Linux, busque el que tenga el número más alto bajo la Total files scanned fila y agregue una exclusión antivirus para él (evalúe cuidadosamente si es seguro excluir). Para obtener más información, consulte Configuración y validación de exclusiones de Defender para punto de conexión en Linux.

    Nota:

    La aplicación almacena estadísticas en memoria y solo realiza un seguimiento de la actividad del archivo desde que se inició y se ha habilitado la protección en tiempo real. Los procesos que se iniciaron antes o durante períodos en los que la protección en tiempo real estaba desactivada no se cuentan. Además, solo se cuentan los eventos que desencadenaron exámenes.

Solución de problemas de rendimiento mediante orígenes de eventos frecuentes

Se aplica a:

  • Problemas de rendimiento en archivos y ejecutables que consumen la mayoría de los ciclos de CPU en todo el sistema de archivos.

Los orígenes de eventos frecuentes son una característica que permite a los clientes identificar qué proceso o directorio es responsable del alto consumo de recursos. Para investigar qué proceso o ejecutable genera más ruido, siga estos pasos.

Nota:

Estos comandos requieren que tenga permisos raíz. Asegúrese de que se puede usar sudo.

En primer lugar, compruebe el nivel de registro en el equipo.

mdatp health --field log_level

Si no está en "depurar", debe cambiarlo para obtener un informe detallado sobre archivos activos o ejecutables.

sudo mdatp log level set --level debug
Log level configured successfully

Para recopilar estadísticas actuales (para archivos),

sudo mdatp diagnostic hot-event-sources files

La salida es similar a la siguiente en la consola (este es solo un fragmento de código de toda la salida). Aquí, la primera fila muestra el recuento (frecuencia de repetición) y la segunda muestra la ruta de acceso del archivo.

Total Events: 11179 Time: 12s. Throughput: 75.3333 events/sec. 
=========== Top 684 Hot Event Sources ===========
count   file path
2832    /mnt/RamDisk/postgres_data/pg_wal/0000000100000014000000A5
632     /mnt/RamDisk/postgres_data/base/635594/2601
619     /mnt/RamDisk/postgres_data/base/635597/2601
618     /mnt/RamDisk/postgres_data/base/635596/2601
618     /mnt/RamDisk/postgres_data/base/635595/2601
616     /mnt/RamDisk/postgres_data/base/635597/635610
615     /mnt/RamDisk/postgres_data/base/635596/635602
614     /mnt/RamDisk/postgres_data/base/635595/635606
514     /mnt/RamDisk/postgres_data/base/635594/635598_fsm
496     /mnt/RamDisk/postgres_data/base/635597/635610_fsm

Este comando genera un informe de origen de eventos de acceso frecuente que se guarda en la carpeta local que se puede investigar aún más. La salida tiene el siguiente aspecto en el archivo json;

{
    "startTime": "1729535104539160",
    "endTime": "1729535117570766",
    "totalEvent": "11373",
    "eventSource": [
        {
            "authCount": "2832",
            "csId": "",
            "notifyCount": "0",
            "path": "/mnt/RamDisk/postgres_data/pg_wal/0000000100000014000000A5",
            "pidCount": "1",
            "teamId": ""
        },
        {
            "authCount": "632",
            "csId": "",
            "notifyCount": "0",
            "path": "/mnt/RamDisk/postgres_data/base/635594/2601",
            "pidCount": "1",
            "teamId": ""
        }
    ]
}

En el ejemplo, podemos ver que el archivo /mnt/RamDisk/postgres_data/pg_wal/0000000100000014000000A5 genera la mayor parte de la actividad. Además, de forma similar para los ejecutables,

sudo mdatp diagnostic hot-event-sources executables

La salida es similar a la siguiente en la consola.

Total Events: 47382 Time: 18s. Throughput: 157 events/sec.
=========== Top 23 Hot Event Sources ===========
count    executable path
8216    /usr/lib/postgresql/12/bin/psql
5721    /usr/lib/postgresql/12/bin/postgres (deleted)
3557    /usr/bin/bash
378     /usr/bin/clamscan
88      /usr/bin/sudo
70      /usr/bin/dash
30      /usr/sbin/zabbix_agent2
10      /usr/bin/grep
8       /usr/bin/gawk
6       /opt/microsoft/mdatp/sbin/wdavdaemonclient
4       /usr/bin/sleep

Esta es la salida guardada en el informe de origen de eventos activos en json;

{
    "startTime": "1729534260988396",
    "endTime": "1729534280026883",
    "totalEvent": "48165",
    "eventSource": [
        {
            "authCount": "8126",
            "csId": "",
            "notifyCount": "0",
            "path": "/usr/lib/postgresql/12/bin/psql",
            "pidCount": "2487",
            "teamId": ""
        },
        {
            "authCount": "5127",
            "csId": "",
            "notifyCount": "0",
            "path": "/usr/lib/postgresql/12/bin/postgres",
            "pidCount": "2144",
            "teamId": ""
        }
    ]
}

En este ejemplo, después de 18s, el comando muestra que los ejecutables; /usr/lib/postgresql/12/bin/psql y /usr/lib/postgresql/12/bin/postgres generan la mayor cantidad de actividad.

Una vez finalizada la investigación, puede volver a cambiar el nivel de registro a "info".

sudo mdatp log level set --level info
Log level configured successfully

Para mejorar el rendimiento de Defender para punto de conexión en Linux, busque la ruta de acceso con el número más alto en la fila de recuento y agregue una exclusión de proceso global (si es un ejecutable) o una exclusión global de archivos o carpetas (si es un archivo) para ella (evalúe cuidadosamente si es seguro excluir). Para obtener más información, consulte Configuración y validación de exclusiones de Defender para punto de conexión en Linux.

Solución de problemas de rendimiento mediante estadísticas de eBPF

Se aplica a:

  • Todos los eventos de archivo o proceso, incluidos los problemas de rendimiento basados en llamadas del sistema.

El comando de estadísticas eBPF (filtro de paquetes extendido de Berkeley) proporciona información sobre el evento o proceso superior que genera la mayoría de los eventos de archivo, junto con sus identificadores de syscall. Cuando se realizan llamadas al sistema desde el sistema, se genera una gran cantidad de carga de trabajo en el sistema. Las estadísticas de eBPF se pueden usar para identificar estos problemas.

Para recopilar estadísticas actuales mediante estadísticas de eBPF, ejecute:

mdatp diagnostic ebpf-statistics

La salida se muestra directamente en la consola y tendría un aspecto similar al siguiente (este es solo un fragmento de código de toda la salida):

Top initiator paths:
/usr/lib/postgresql/12/bin/psql : 902
/usr/bin/clamscan : 349
/usr/sbin/zabbix_agent2 : 27
/usr/lib/postgresql/12/bin/postgres : 10

Top syscall ids:
80 : 9034
57 : 8932
60 : 8929
59 : 4942
112 : 4898
90 : 179
87 : 170
119 : 32
288 : 19
41 : 15

Este comando supervisa el sistema durante 20 segundos y muestra los resultados. Aquí, la ruta de acceso del iniciador superior (postgresql/12/bin/psql) muestra la ruta de acceso del proceso que generó la mayoría de las llamadas del sistema.

Para mejorar el rendimiento de Defender para punto de conexión en Linux, busque el que tenga el nivel más alto count de la Top initiator path fila y agregue una exclusión de proceso global para él (evalúe cuidadosamente si es seguro excluirlo). Para obtener más información, consulte Configuración y validación de exclusiones de Defender para punto de conexión en Linux.

Configuración de exclusiones globales para mejorar el rendimiento

Configure Microsoft Defender para punto de conexión en Linux con exclusiones para los procesos o ubicaciones de disco que contribuyen a los problemas de rendimiento. Para más información, consulte Configurar y validar exclusiones de Microsoft Defender para punto de conexión en Linux. Si sigue teniendo problemas de rendimiento, póngase en contacto con el soporte técnico para obtener más instrucciones y mitigación.

Vea también

Sugerencia

¿Desea obtener más información? Engage con la comunidad de seguridad de Microsoft en nuestra comunidad tecnológica: Microsoft Defender para punto de conexión Tech Community.