[发明专利]一种针对Linux系统RPM包统计CPU占用率的方法及系统在审
申请号: | 201710656280.5 | 申请日: | 2017-08-03 |
公开(公告)号: | CN107491372A | 公开(公告)日: | 2017-12-19 |
发明(设计)人: | 郭靖伟 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F11/34 |
代理公司: | 济南诚智商标专利事务所有限公司37105 | 代理人: | 邓东坡 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 linux 系统 rpm 统计 cpu 占用率 方法 | ||
技术领域
本发明涉及一种操作系统性能检测方法,属于软件测试领域,尤其涉及一种针对Linux系统RPM包统计CPU占用率的方法及系统。
背景技术
在现有的操作系统中,对CPU性能的监控是保障计算机、服务器等设备稳定、正常运行的核心,其中对CPU任务占用率更是有效控制和合理CPU处理能力的关键。例如,在Windows操作系统中,提供了任务管理器这一工具,用户能够利用任务管理器查看到计算机当前运行的程序和进程的详细信息,并能够进行一些操作。在Linux操作系统中也有类似的工具,如top命令,能够查看当前系统中正在运行的进程的资源消耗情况。
Linux系统下软件包通常是以RPM文件的方式进行安装,一个软件包中可能会包含多个进程,常用的top命令能够查看到的,仅仅是每一个进程的资源消耗情况,无法查询到系统中正在运行的进程所属的RPM包的资源占用情况。当需要定位系统中安装的RPM包资源使用情况时,在现有的Linux系统下无法实现。因此,不利于对Linux系统下的CPU占用率进行监控和统计,容易出现系统瘫痪或崩溃的风险,从而不能有效的保护设备的正常和稳定运行。
如中国专利(授权公告号CN 102750221 B)公开了“一种针对Linux文件系统的性能测试方法”,该方法从三个维度来对Linux文件系统的性能进行评估,具体包括:微观读写带宽测试,通过模拟多个IO操作的应用场景对Linux 文件系统微观读写带宽进行测试;事务操作吞吐量测试,通过基于随机概率的事务交叉循环操作方式对Linux文件系统的文件操作吞吐量进行测试;宏观典型应用模拟测试,通过基于多线程的可扩展负载模型构建方式对典型应用场景进行模拟从而评估Linux文件系统的真实工作性能。该方法虽然能够提高测试覆盖率,但仍然没有解决针对RPM包CPU占用率的统计和监控问题。
发明内容
本发明提供一种针对Linux系统RPM包统计CPU占用率的方法和系统,用以解决在Linux系统下,对安装的RPM包资源的CPU占用率无法有效统计和监控的问题,不能有效的保护设备的正常和稳定运行。
本发明通过以下技术方案予以实现:
一种针对Linux系统RPM包统计CPU占用率的方法,
在系统中运行RPM包文件,并查询所述RPM软件的所有进程信息;
计算步骤:读取Linux系统目录信息,获取从系统启动开始到当前时刻CPU 运行的总节数和所有进程自启动后分别使用的CPU节拍数,进而得到所有进程的CPU占用率;
定位步骤:定位每一进程,并分别将对应进程的CPU占用率累加到所属 RPM包的CPU使用率上,遍历完所有进程后得到所述RPM包的CPU占用率;
输出步骤:将获取的所述RPM包CPU占用率数据输出。
如上所述的一种针对Linux系统RPM包统计CPU占用率的方法,所述计算步骤,通过读取Linux系统中/proc/stat文件的内容,获取从系统启动开始到当前时刻CPU运行的总节数,包括用户态运行时间、内核态运行时间、IO等待时间、其他等待时间、软中断时间、硬中断时间,将这些节拍值相加后即是系统自启动以来CPU运行的总节拍数。
如上所述的一种针对Linux系统RPM包统计CPU占用率的方法,所述计算步骤,通过读取Linux系统中/proc/[pid]/stat文件中的内容,获取进程在用户态运行的时间节拍数、进程在内核态运行的时间节拍数、进程所有已死线程在用户态运行的节拍数、所有已死线程在内核态运行的节拍数,将这四个节拍数相加后就是进程自启动后使用的CPU节拍数。
如上所述的一种针对Linux系统RPM包统计CPU占用率的方法,所述计算步骤中,计算某一进程CPU使用率的方法是在一个时间点获取此时的CPU总节拍数totalcputime1和对应进程的CPU使用节拍数processcputime1,间隔一段时间,再获取一次CPU总节拍数totalcputime2和此时进程的CPU使用节拍数 processcputime2,利用公式:
percent=100*(processcputime2-processcputime1)/(totalcputime2-totalcputime1) 计算对应进程在这段时间的CPU使用率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710656280.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种获取硬件故障信息的方法及装置
- 下一篇:一种任务栈溢出监测方法及系统