随笔-性能分析-工具sysreport

https://learn.arm.com/learning-paths/servers-and-cloud-computing/sysreport/

install

git clone https://github.com/ArmDeveloperEcosystem/sysreport.git

about sysreport

...
Sysreport is a system capability reporting tool that gives application developers a quick summary of the performance features available on a Linux system. It reports the system configuration in a way that is focused on performance analysis.

The tool is aimed at anyone trying to profile performance on Arm Linux systems; this includes cloud instances, bare metal servers, small developer boards, and Raspberry Pi devices.

After running Sysreport, a summary is generated and displayed on screen. Information reported includes hardware configuration, operating system configuration (build time), and other configuration settings that can be changed. By default, the tool displays advice about possible configuration changes you can make in order to improve the ability to collect performance information. You can disable the advice using the `--no-advice` option.

Example use cases for Sysreport include:

* As a developer, you want to know if a cloud instance supports a particular performance feature so that you can debug a performance problem
* As a developer, you want a quick, single-page summary of a system's performance configuration so that you don't need to run multiple commands manually to gather what you need
* As a developer, you would like to know suggested configuration changes you can make to a system so that you can improve your ability to collect performance information

run sysreport

python3 sysreport.py
python3 sysreport.py --advice
System hardware:
  Architecture:        x86_64
  CPUs:                64
  CPU types:           64 x Intel Model 85 (Intel(R) Xeon(R) Silver 4216 CPU @ 2.10GHz) stepping 7
  cache info:          size, associativity, sharing
  cache line size:     64
  Caches:
    32 x L1D 32K 8-way 64b-line
    32 x L1I 32K 8-way 64b-line
    32 x L2U 1M 16-way 64b-line
    2 x L3U 22M 11-way 64b-line
  System memory:       62.1G
  Atomic operations:   True
  interconnect:        <unknown> x 1
  NUMA nodes:          2
    node 0:            size:   32081920kB, cpu_list: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47]
    node 1:            size:   32985192kB, cpu_list: [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
  Sockets:             2
OS configuration:
  Kernel:              5.10.0
  config:              /proc/config.gz
  build dir:           /lib/modules/5.10.0-60.18.0.50.oe2203.x86_64/build
  uses atomics:        <unknown>
  huge pages:          2048kB: 0, 1048576kB: 0
  transparent HP:      always
  resctrl:             True
  Distribution:        openEuler
  libc version:        glibc 2.34
  boot info:           ACPI
  KPTI enforced:       False
  Lockdown:            lockdown, yama, loadpin, safesetid, integrity, selinux, smack, tomoyo, apparmor, bpf
  Mitigations:         spectre_v2:Enhanced IBRS, IBPB: conditional, RSB filling; itlb_multihit:KVM: Mitigation: VMX disabled; spec_store_bypass:Speculative Store Bypass disabled via prctl and seccomp; tsx_async_abort:TSX disabled; spectre_v1:usercopy/swapgs barriers and __user pointer sanitization
Performance features:
  perf tools:          True
  perf installed at:   /bin/perf
  perf with OpenCSD:   False
  perf counters:       5
  perf sampling:       None
  perf HW trace:       PT
  perf paranoid:       0
  kptr_restrict:       0
  perf in userspace:   n/a
  interconnect perf:   None
  /proc/kcore:         True
  /dev/mem:            True
  eBPF:
    kernel configured for BPF: True
    bpftool installed:         True
      /usr/sbin/bpftool v5.10.0-60.18.0.50.oe2203.x86_64 features: libbfd, skeletons 
    bpftrace installed:        None
posted @ 2025-02-24 00:59  LiYanbin  阅读(18)  评论(0)    收藏  举报