自学内容网 自学内容网

总结一下linux性能检测和调优手段

1.perf 是 Linux 系统中性能分析工具,用于收集性能相关的信息。它可以用于查看 CPU 使用情况、内存性能、磁盘 I/O 等,以帮助开发者找到性能瓶颈。

以下是一些 perf 常见用法和示例:

1. CPU Profiling
a. 查看 CPU 使用率
perf stat -e cpu-clock -a sleep 5
这个命令将统计所有 CPU 上运行的进程的 cpu-clock 事件,持续 5 秒钟。

b. 检测函数耗时
perf record -e cycles -g -p <PID>
perf report
这个命令将在指定的进程上收集函数调用信息,然后通过 perf report 查看。
2. 内存分析
a. 查看内存分配情况
perf record -e malloc:*
perf report
这个命令将记录程序中的内存分配事件,然后通过 perf report 查看。
3. I/O 分析
a. 查看磁盘 I/O 情况
perf record -e block:block_rq_insert -a
perf report
这个命令将记录所有块 I/O 请求的插入事件,然后通过 perf report 查看。
4. Trace 系统调用
perf trace -a
这个命令将跟踪系统调用,显示正在运行的进程的详细信息。

当使用 perf 进行性能调优时,一般会经历以下步骤:

收集性能数据: 使用 perf 工具收集程序运行时的性能数据。

分析性能数据: 通过 perf 工具的报告,分析程序中的性能瓶颈。

优化代码: 根据分析结果,对程序进行优化。

重新收集和分析: 重复上述步骤,直至达到满意的性能。

编译代码

gcc -o fibonacci fibonacci.c

启动perf记录

perf record -g -o perf.data ./fibonacci

生成报告

perf report

优化的方式可能包括改进算法、减少函数调用、并行化等。在每次优化后,都要重新运行 perf,直到达到满意的性能水平。

2.lscpu 对于 Linux 机器,可以用 lscpu、cat /proc/info 等命令查看它的 CPU 信息, 比如下面这台机器
在这里插入图片描述
看到有 48 个 CPU。 要理解这些 CPU 在物理上是怎么分布的(layout)。


原文地址:https://blog.csdn.net/tonglin12138/article/details/136316437

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!