linux下函数级的CPU占用率分析

本文介绍如何使用Perf工具分析Linux系统下程序的CPU占用情况。Perf是Linux2.6.31及更高版本内建的系统效能分析工具,可利用PMU、tracepoint等进行统计,帮助定位应用程序的效能瓶颈。首先确认系统是否已启用Perf,若未启用则需通过apt安装。安装后,切换至root用户,使用top或ps获取目标进程的PID,然后通过perftop命令分析函数级的CPU占用情况。
部署运行你感兴趣的模型镜像

 

最近工作上需要降低CPU占用率,想要从最占CPU资源的地方下手,那么怎么才能知道程序中哪部分最占CPU能,在网上查资料,了解到了perf这个工具。

Perf 全名是 Performance Event,是在 Linux 2.6.31 以后内建的系统效能分析工具,它随着核心一并释出。借由perf,应用程序可以利用PMU (Performance Monitoring Unit), tracepoint 和核心内部的特殊计数器(counter) 来进行统计,另外还能同时分析运行中的核心程序码,从而更全面了解应用程序中的效能瓶颈。

首先通过如下命令来查看系统是否启用了perf

cat "/boot/config-`uname -r`" | grep "PERF_EVENT"

如果没有的话,首先通过apt来安装:

 sudo apt-get install linux-tools-common

如果有依赖项的缺失,按照apt的提示来进行安装即可

比如如果出现

WARNING: perf not found for kernel 3.16.0-50
You may need to install the following packages for this specific kernel:
    linux-tools-3.16.0-50-generic
    linux-cloud-tools-3.16.0-50-generic

那么可能是kernal版本不同,直接apt安装就好了

 sudo apt-get install linux-tools-3.16.0-50-generic linux-cloud-tools-3.16.0-50-generic

安装完成后,切换到root用户,因为perf默认需要用到root权限,然后通过top或者ps等命令获取需要分析的进程的pid(比如2313),输入 

perf top -p 2313

即可获取函数级的CPU占用情况分析结果了

参考资料:

http://wiki.csie.ncku.edu.tw/embedded/perf-tutorial

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值