一种基于linux系统的CPI实时监测的方法技术方案

技术编号:8161464 阅读:337 留言:0更新日期:2013-01-07 19:29
本发明专利技术提供一种基于linux系统的CPI实时监测的方法,该方法利用linux提供的sys_perf_event_open系统调用,通过读取CPU的performancemanagmentunit(PMU)内容,获取实时的CPU周期及执行指令数,进而计算出系统的实时CPI。本发明专利技术克服了以往系统性能监测系统在微架构监测方面的不足,能做到实时准确的监控系统中每一颗CPU,并计算出其CPI数据。在高性能服务器领域,本方法可以用来及时准确的判断系统发挥的真实性能,以及可以从侧面反映一款应用程序的优劣。

【技术实现步骤摘要】

本专利技术涉及CPU架构,C语言,以及Iinux编程等
,具体地说是一种基于Iinux系统的CPI实时监测的方法。
技术介绍
随着高性能服务 器应用的发展,越来越多的人们开始注意微架构方面的性能对应用性能的影响。其中CPI是微架构方面的一个重要指标,但是目前几乎所有的监测工具均无法实时监测此项内容。
技术实现思路
本专利技术的目的是利用了 Iinux内核提供的sys_perf_event_open系统调用实现基于Iinux系统的CPI实时监测方法。本专利技术的目的是按以下方式实现的,基于Iinux平台,通过读取系统内每颗CPU中PMU的CPU周期及执行指令数等相关内容,实时的计算出系统整体CPI值并输出,实现步骤如下 1)包装sys_perf_event_open 系统调用static int perf_event_open(struct perf_event_attr *hw_event_uptr,pid_t pid, int cpu, int group_fd, unsigned long flags){ return syscall(—NR_perf_event_o本文档来自技高网...

【技术保护点】
一种基于linux系统的CPI实时监测的方法,?其特征在于通过读取系统内每颗CPU中PMU的CPU周期及执行指令数等相关内容,实时的计算出系统整体CPI值并输出,具体实现步骤如下:包装sys_perf_event_open系统调用:static?int?perf_event_open(struct?perf_event_attr?*hw_event_uptr,????????????????????pid_t?pid,?int?cpu,?int?group_fd,?unsigned?long?flags)?{???????????return?syscall(__NR_perf_event_o...

【技术特征摘要】

【专利技术属性】
技术研发人员:刘斐然
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1