The present invention provides a method and system for calculation steps, RPM packet statistics CPU occupancy rate of Linux system: the Linux system to read the directory information acquired from the system start to the present moment to beat number CPU CPU number and total running all the process from the start after use, and get all the process CPU occupancy rate positioning; steps: locating each process, and the corresponding process CPU occupancy rate is added to the RPM CPU package using rate were all obtained after the traversal process of the RPM package CPU occupancy rate; output steps: the RPM package CPU occupancy rate data output. The invention can automatically calculate the CPU occupancy rate of the process and determine the RPM package belonging to the process, so as to realize effective monitoring and statistics for the CPU occupancy rate, avoid the risk of system paralysis or collapse, and protect the normal and stable operation of the device.
【技术实现步骤摘要】
一种针对Linux系统RPM包统计CPU占用率的方法及系统
本专利技术涉及一种操作系统性能检测方法,属于软件测试领域,尤其涉及一种针对Linux系统RPM包统计CPU占用率的方法及系统。
技术介绍
在现有的操作系统中,对CPU性能的监控是保障计算机、服务器等设备稳定、正常运行的核心,其中对CPU任务占用率更是有效控制和合理CPU处理能力的关键。例如,在Windows操作系统中,提供了任务管理器这一工具,用户能够利用任务管理器查看到计算机当前运行的程序和进程的详细信息,并能够进行一些操作。在Linux操作系统中也有类似的工具,如top命令,能够查看当前系统中正在运行的进程的资源消耗情况。Linux系统下软件包通常是以RPM文件的方式进行安装,一个软件包中可能会包含多个进程,常用的top命令能够查看到的,仅仅是每一个进程的资源消耗情况,无法查询到系统中正在运行的进程所属的RPM包的资源占用情况。当需要定位系统中安装的RPM包资源使用情况时,在现有的Linux系统下无法实现。因此,不利于对Linux系统下的CPU占用率进行监控和统计,容易出现系统瘫痪或崩溃的风险,从而不能有效的保护设备的正常和稳定运行。如中国专利(授权公告号CN102750221B)公开了“一种针对Linux文件系统的性能测试方法”,该方法从三个维度来对Linux文件系统的性能进行评估,具体包括:微观读写带宽测试,通过模拟多个IO操作的应用场景对Linux文件系统微观读写带宽进行测试;事务操作吞吐量测试,通过基于随机概率的事务交叉循环操作方式对Linux文件系统的文件操作吞吐量进行测试;宏观典型 ...
【技术保护点】
一种针对Linux系统RPM包统计CPU占用率的方法,其特征在于,在系统中运行RPM包文件,并查询所述RPM软件的所有进程信息;计算步骤:读取Linux系统目录信息,获取从系统启动开始到当前时刻CPU运行的总节数和所有进程自启动后分别使用的CPU节拍数,进而得到所有进程的CPU占用率;定位步骤:定位每一进程,并分别将对应进程的CPU占用率累加到所属RPM包的CPU使用率上,遍历完所有进程后得到所述RPM包的CPU占用率;输出步骤:将获取的所述RPM包CPU占用率数据输出。
【技术特征摘要】
1.一种针对Linux系统RPM包统计CPU占用率的方法,其特征在于,在系统中运行RPM包文件,并查询所述RPM软件的所有进程信息;计算步骤:读取Linux系统目录信息,获取从系统启动开始到当前时刻CPU运行的总节数和所有进程自启动后分别使用的CPU节拍数,进而得到所有进程的CPU占用率;定位步骤:定位每一进程,并分别将对应进程的CPU占用率累加到所属RPM包的CPU使用率上,遍历完所有进程后得到所述RPM包的CPU占用率;输出步骤:将获取的所述RPM包CPU占用率数据输出。2.根据权利要求1所述的一种针对Linux系统RPM包统计CPU占用率的方法,其特征在于,所述计算步骤,通过读取Linux系统中/proc/stat文件的内容,获取从系统启动开始到当前时刻CPU运行的总节数,包括用户态运行时间、内核态运行时间、IO等待时间、其他等待时间、软中断时间、硬中断时间,将这些节拍值相加后即是系统自启动以来CPU运行的总节拍数。3.根据权利要求1所述的一种针对Linux系统RPM包统计CPU占用率的方法,其特征在于,所述计算步骤,通过读取Linux系统中/proc/[pid]/stat文件中的内容,获取进程在用户态运行的时间节拍数、进程在内核态运行的时间节拍数、进程所有已死线程在用户态运行的节拍数、所有已死线程在内核态运行的节拍数,将这四个节拍数相加后就是进程自启动后使用的CPU节拍数。4.根据权利要求1所述的一种针对Linux系统RPM包统计CPU占用率的方法,其特征在于,所述计算步骤中,计算某一进程CPU使用率的方法是在一个时间点获取此时的CPU总节拍数totalcputime1和对应进程的CPU使用节拍数processcputime1,间隔一段时间,再获取一次CPU总节拍数totalcputime2和此时进程的CPU使用节拍数processcputime2,利用公式:percent=100*(processcputime2-processcputime1)/(totalcputi...
【专利技术属性】
技术研发人员:郭靖伟,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。