[Ferramenta de otimização de desempenho] Leve você para entender o desempenho do Linux

Esta seção faz principalmente uma breve introdução ao Linux perf, do ponto de vista do que é, para que pode ser usado e da perspectiva de usar a atenção, como uma cunha para o reconhecimento inicial do Linux perf.

@autor: Mercury_Lc

Linux perf (perfilador de desempenho) é uma poderosa ferramenta de análise de desempenho usada para ajudar os desenvolvedores a diagnosticar, ajustar e monitorar problemas de desempenho de sistemas e aplicativos Linux . Ele implementa uma variedade de métodos de coleta de dados baseados em contadores de desempenho de hardware (contadores de desempenho de hardware), pontos de rastreamento e medições de software para analisar vários fenômenos no sistema. A ferramenta perf está integrada no kernel Linux, principalmente através do subsistema perf_event.

Os contadores de desempenho são registros de hardware da CPU que contam eventos de hardware, como instruções executadas, falhas de cache ou ramificações mal previstas. Eles formam a base para a análise de aplicações para rastrear o fluxo de controle dinâmico e identificar pontos críticos. perf fornece uma abstração rica de uso geral sobre funções específicas de hardware.

Em geral, perf pode analisar o desempenho do sistema em diferentes níveis, incluindo recursos como CPU, memória, E/S e bloqueios. Você pode usar perf para várias tarefas, como criação de perfil de aplicativos, visualização de eventos de hardware (como falhas de cache, previsões incorretas de ramificação, etc.) e chamadas de sistema, rastreamento de eventos de kernel e de espaço do usuário e geração de relatórios de desempenho, etc.

perf fornece uma variedade de subcomandos para atender a diferentes necessidades de análise de desempenho, como:

● perf stat: coleta e exibe estatísticas de contadores de desempenho durante a execução.

● registro perf: registra informações de amostra de evento.

● relatório de desempenho: gera um relatório de desempenho com base nos dados registrados no registro de desempenho.

● perf annotate: Anote e analise arquivos binários.

● perf top: Exibição em tempo real da atividade do sistema e dos dados do contador de desempenho.

● rastreamento de desempenho: coleta, analisa, exibe ou processa dados de desempenho de rastreamento do kernel e do espaço do usuário.

● banco de desempenho: execute vários benchmarks integrados.

O acima pode ser obtido através de perf -h após a instalação do perf:

[root ~]# perf -h

 usage: perf [--version] [--help] [OPTIONS] COMMAND [ARGS]

 The most commonly used perf commands are:
   annotate        Read perf.data (created by perf record) and display annotated code
   archive         Create archive with object files with build-ids found in perf.data file
   bench           General framework for benchmark suites
   buildid-cache   Manage build-id cache.
   buildid-list    List the buildids in a perf.data file
   c2c             Shared Data C2C/HITM Analyzer.
   config          Get and set variables in a configuration file.
   data            Data file related processing
   diff            Read perf.data files and display the differential profile
   evlist          List the event names in a perf.data file
   ftrace          simple wrapper for kernel's ftrace functionality
   inject          Filter to augment the events stream with additional information
   kallsyms        Searches running kernel for symbols
   kmem            Tool to trace/measure kernel memory properties
   kvm             Tool to trace/measure kvm guest os
   list            List all symbolic event types
   lock            Analyze lock events
   mem             Profile memory accesses
   record          Run a command and record its profile into perf.data
   report          Read perf.data (created by perf record) and display the profile
   sched           Tool to trace/measure scheduler properties (latencies)
   script          Read perf.data (created by perf record) and display trace output
   stat            Run a command and gather performance counter statistics
   test            Runs sanity tests.
   timechart       Tool to visualize total system behavior during a workload
   top             System profiling tool.
   version         display the version of perf binary
   probe           Define new dynamic tracepoints
   trace           strace inspired tool

 See 'perf help COMMAND' for more information on a specific command.

Deve-se observar que antes de usar perf, você deve garantir que o kernel do sistema suporta o subsistema perf_event. Ao usar o comando perf, você geralmente precisa ter autoridade root ou pertencer a um grupo de usuários específico (como: perf-users).

Resumindo, Linux perf é uma poderosa ferramenta de análise de desempenho que pode ajudar os desenvolvedores a localizar problemas de desempenho, otimizar o desempenho do sistema e melhorar a eficiência operacional do sistema e dos aplicativos.

Referência

https://perf.wiki.kernel.org/index.php/Main_Page

Acho que você gosta

Origin blog.csdn.net/Mercury_Lc/article/details/131341695
Recomendado
Clasificación