Compartilhar via


Resolver problemas de desempenho de Microsoft Defender para Ponto de Extremidade no Linux

Aplica-se a:

Deseja experimentar o Defender para Ponto de Extremidade? Inscreva-se para uma avaliação gratuita.

Este artigo descreve como reduzir os problemas de desempenho relacionados com o Defender para Endpoint no Linux. Estão disponíveis ferramentas de diagnóstico para o ajudar a compreender e mitigar a escassez de recursos e processos existentes que estão a afetar o desempenho. Estas ferramentas de diagnóstico também podem ser utilizadas para melhorar a visibilidade no portal do Microsoft Defender. Os estrangulamentos num ou mais subsistemas de hardware causam principalmente problemas de desempenho, consoante o perfil de utilização de recursos no sistema. Por vezes, as aplicações são sensíveis aos recursos de E/S do disco e podem precisar de mais capacidade de CPU e, por vezes, algumas configurações não são sustentáveis e podem acionar demasiados novos processos e abrir demasiados descritores de ficheiros.

Consoante as aplicações que está a executar e as características do dispositivo, poderá ter um desempenho inferior ao otimizar a execução do Defender para Endpoint no Linux. Em particular, as aplicações ou processos de sistema que acedem a muitos recursos, como CPU, Disco e Memória num curto período de tempo, podem levar a problemas de desempenho no Defender para Endpoint no Linux.

Aviso

Antes de começar, certifique-se de que outros produtos de segurança não estão atualmente em execução no dispositivo. Vários produtos de segurança podem entrar em conflito e afetar o desempenho do anfitrião.

Existem três formas distintas de resolver problemas de processos e diretórios ruidosos com as Ferramentas de diagnóstico do Microsoft Defender para Ponto de Extremidade no Linux:

  • Utilizar estatísticas de proteção em tempo real
  • Utilizar Origens de Eventos Frequentes
  • Utilizar estatísticas de eBPF

Resolver problemas de desempenho com estatísticas de proteção em tempo real

Aplica-se a:

  • Apenas problemas de desempenho relacionados com o antivírus

A proteção em tempo real (RTP) é uma funcionalidade do Defender para Endpoint no Linux que monitoriza e protege continuamente o seu dispositivo contra ameaças. Consiste em monitorização de ficheiros e processos e outras heurísticas.

Os passos seguintes podem ser utilizados para resolver e mitigar estes problemas:

  1. Desative a proteção em tempo real com um dos seguintes métodos e observe se o desempenho melhora. Esta abordagem ajuda a restringir se o Defender para Endpoint no Linux está a contribuir para os problemas de desempenho. Se o seu dispositivo não for gerido pela sua organização, a proteção em tempo real pode ser desativada a partir da linha de comandos:

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

    Se a sua organização gerir o seu dispositivo, o administrador pode desativar a proteção em tempo real com as instruções em Definir preferências do Defender para Endpoint no Linux.

    Observação

    Se o problema de desempenho persistir enquanto a proteção em tempo real estiver desativada, a origem do problema também poderá ser o componente de deteção e resposta de pontos finais (EDR). Neste caso, tem de adicionar exclusões globais do Antivírus e do EDR. Neste caso, siga os passos na secção Resolver problemas de desempenho com Origens de Eventos Frequentes.

  2. Para localizar as aplicações que estão a acionar a maioria das análises, pode utilizar estatísticas em tempo real recolhidas pelo Defender para Endpoint no Linux.

    Observação

    Esta funcionalidade está disponível na versão 100.90.70 ou mais recente.

    Esta funcionalidade está ativada por predefinição nos Dogfood canais e InsiderFast . Se estiver a utilizar um canal de atualização diferente, esta funcionalidade pode ser ativada a partir da linha de comandos:

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

    Esta funcionalidade requer a ativação da proteção em tempo real. Para marcar a status de proteção em tempo real, execute o seguinte comando:

    mdatp health --field real_time_protection_enabled
    

    Verifique se a real_time_protection_enabled entrada é true. Caso contrário, execute o seguinte comando para ativá-lo:

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

    Para recolher estatísticas atuais, execute:

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

    Observação

    Utilizar --output json (anote o traço duplo) garante que o formato de saída está pronto para análise.

    O resultado deste comando mostra todos os processos e a respetiva atividade de análise associada.

  3. Escreva os seguintes comandos:

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

    O resultado é uma lista dos quatro principais contribuidores para problemas de desempenho. Por exemplo, o resultado do comando é algo semelhante ao seguinte:

    =====================================
    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 melhorar o desempenho do Defender para Endpoint no Linux, localize aquele com o número mais alto abaixo da Total files scanned linha e adicione uma exclusão antivírus para o mesmo (avalie cuidadosamente se é seguro excluir). Para obter mais informações, veja Configurar e validar exclusões do Defender para Endpoint no Linux.

    Observação

    A aplicação armazena estatísticas na memória e só controla a atividade dos ficheiros desde que foi iniciada e a proteção em tempo real foi ativada. Os processos que foram iniciados antes ou durante períodos em que a proteção em tempo real estava desativada não são contabilizados. Além disso, apenas são contados os eventos que acionaram análises.

Resolver problemas de desempenho com Origens de Eventos Frequentes

Aplica-se a:

  • Problemas de desempenho em ficheiros e executáveis que estão a consumir a maioria dos ciclos de CPU em todo o sistema de ficheiros.

As origens de eventos frequentes são uma funcionalidade que permite aos clientes identificar que processo ou diretório é responsável pelo elevado consumo de recursos. Para investigar que processo/executável está a gerar mais ruído, siga estes passos.

Observação

Estes comandos requerem que tenha permissões de raiz. Certifique-se de que o sudo pode ser utilizado.

Primeiro, marcar o nível de registo no seu computador.

mdatp health --field log_level

Se não estiver em "depuração", terá de alterá-lo para um relatório detalhado sobre ficheiros frequentes/executáveis.

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

Para recolher estatísticas atuais (para ficheiros),

sudo mdatp diagnostic hot-event-sources files

O resultado é semelhante ao seguinte na consola (este é apenas um fragmento de toda a saída). Aqui, a primeira linha mostra a contagem (frequência de ocorrência) e a segunda mostra o caminho do ficheiro.

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 gera um relatório de origem de eventos frequente que é guardado na pasta local que pode ser investigado mais aprofundadamente. O resultado tem o seguinte aspeto no ficheiro 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": ""
        }
    ]
}

No exemplo, podemos ver que o ficheiro /mnt/RamDisk/postgres_data/pg_wal/0000000100000014000000A5 gera mais atividade. Além disso, da mesma forma para os executáveis,

sudo mdatp diagnostic hot-event-sources executables

O resultado é semelhante ao seguinte na consola do .

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 é a saída guardada no relatório de origem de eventos frequentes no 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": ""
        }
    ]
}

Neste exemplo, após 18 s, o comando mostra que os executáveis; /usr/lib/postgresql/12/bin/psql e /usr/lib/postgresql/12/bin/postgres geram mais atividade.

Depois de concluir a investigação, pode alterar o nível de registo novamente para "informações".

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

Para melhorar o desempenho do Defender para Endpoint no Linux, localize o caminho com o número mais alto na linha de contagem e adicione uma exclusão de processo global (se for executável) ou uma exclusão global de ficheiros/pastas (se for um ficheiro) para o mesmo (avalie cuidadosamente se é seguro excluir). Para obter mais informações, veja Configurar e validar exclusões do Defender para Endpoint no Linux.

Resolver problemas de desempenho com estatísticas de eBPF

Aplica-se a:

  • Todos os eventos de processo/ficheiro, incluindo problemas de desempenho baseados em chamadas do sistema.

O comando de estatísticas do eBPF (filtro de pacotes de Berkeley expandido) fornece informações sobre o evento/processo principal que está a gerar mais eventos de ficheiro, juntamente com os respetivos IDs de syscall. Quando as chamadas de sistema estão a ser efetuadas a partir do sistema, é gerada uma elevada quantidade de carga de trabalho no seu sistema. As estatísticas eBPF podem ser utilizadas para identificar tais problemas.

Para recolher estatísticas atuais com estatísticas eBPF, execute:

mdatp diagnostic ebpf-statistics

O resultado é apresentado diretamente na consola e teria um aspeto semelhante ao seguinte (este é apenas um fragmento de toda a saída):

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 monitoriza o sistema durante 20 segundos e mostra os resultados. Aqui, o caminho do iniciador superior (postgresql/12/bin/psql) mostra o caminho do processo que gerou mais chamadas de sistema.

Para melhorar o desempenho do Defender para Endpoint no Linux, localize aquele com o mais alto count da Top initiator path linha e adicione uma exclusão de processo global para o mesmo (avalie cuidadosamente se é seguro excluir). Para obter mais informações, veja Configurar e validar exclusões do Defender para Endpoint no Linux.

Configurar Exclusões Globais para um melhor desempenho

Configure Microsoft Defender para Ponto de Extremidade no Linux com exclusões para os processos ou localizações do disco que contribuem para os problemas de desempenho. Para mais informações, confira Configurar e validar exclusões no Microsoft Defender para Ponto de Extremidade no Linux. Se ainda tiver problemas de desempenho, contacte o suporte para obter mais instruções e mitigação.

Confira também

Dica

Você deseja aprender mais? Engage com a comunidade de Segurança da Microsoft na nossa Comunidade Tecnológica: Microsoft Defender para Ponto de Extremidade Tech Community.