性能计数器之CPU

通过性能计数器(Process)来获取某个进程的CPU使用率、内存使用量、磁盘读写速率 本篇文章是在上次获取整个系统性能数据的延伸。 需求:获取某个进程(已知进程名)的CPU使用率、内存使用量、磁盘读写速率 实现:通过windows自带的性能计数器中的Process实现 与之前获取整个系统性能数据的流程是一样的,打开性能计数器——添加性能计数器——获取数据。 下面是具体的性能计数器查询语句,"tfb_manage_system"是进程名(tfb_manage_syst 阅读详情

 Processor/% Processor Time

 

阀值:处理器的阀值一般设为85%。

含义:这个计数器是处理器活动的主要指标。高数值并不一定是坏事,但是如果其他处理器相关的计数器(比如% Privileged Time 或者 Processor Queue Length)线性增加的话,高CPU使用率就值得调查了。

 

Processor/% Privileged Time

阀值:如果数值持续大于75%就表示存在瓶颈。

含义:这个计数器表示一个线程在特权模式下所使用的时间比例。当你的程序调用操作系统的方法(比如文件操作,网络I/O或者分配内存),这些操作系统的方法是在特权模式下运行的。

Processor/% Interrupt Time

 

阀值:取决于处理器

含义:这个计数器表示处理器接收处理硬件中断所使用的时间比例。这个值间接指出产生中断的硬件设备活动,比如网络变化。这个计数器显著增加的话表示硬件可能存在问题。

System/Processor Queue Length

 

阀值:平均值持续大于2那么表示CPU存在瓶颈

 

含义:如果就绪的任务超过处理能力线程就会被放进队列。处理器队列是就绪但是未能被处理器执行的线程的集合,这是因为另外一个线程正在执行状态。持续或者反复发生2个以上的队列则明确的表示存在处理器瓶颈。你也能通过减少并发取得更大的吞吐量。

 

你可以结合Processor/% Processor Time来决定增加CPU的话你的程序是否能够受益。即使在多处理器的电脑上,对于CPU时间也是单队列。因此,在多处理器电脑上,Processor Queue Length (PQL)的值除以用来处理负载的CPU个数。

 

如果CPU非常忙(90%以上的使用率),PQL的平均值也持续大于2/CPU, 这是应该存在CPU瓶颈而且能够从更多的CPU中受益。或者,你可以减少线程的数量以及增加应用程序层的队列。这会引起少量的Context Switching,但是少许的Context Switching对于减少CPU负载是有好处的。PQL大于2但是CPU使用率却不高的的常见原因是对CPU时间的请求随机到达而且线程却从处理器申请到不对称的CPU时间。这意味着处理器并不是瓶颈,而你的线程逻辑是需要改进的。

System/Context Switches/sec

 

阀值:按照通常的规律,context switching速率小于5000/秒/CPU是不需要担心的。如果Context Switching速率达到15000/秒/CPU的话就是一个制约因素了。

含义:当一个高优先级的线程取代一个正在运行的低优先级线程,或者高优先级线程阻塞的时候就会发生Context Switching。大量的Context Switching可以发生在许多线程拥有相同的优先级的情况下,这通常表示有太多的线程竞争CPU,如果你没有看到太高的处理器使用率而且发现Context Switch非常低,那么表示线程被阻塞。

perf之cpu性能计数器 在VMware中启用cpu性能计数器 阅读详情

相关推荐

Windows下使用PDH获取性能计数器(CPU、内存、网络流量等)

性能计数器 获取计数 网卡接口 Perfmon(运行命令perfmon.msc或perfmon即可打开)性能监视器主要用来对指定的系统性能指标进行实时监控。Windows提供Pdh(performance data helper)库,方便通过程序获取里面的性能计数信息。 性能计数器 Windows通过计数器(Counter)提供操作系统、程序、服务以及驱动等的信息,以便对系统进行监视或查找性能瓶颈。 Windows提供了多种方式获取性能计数,下图展示了消费者(获取计数器的程序)、注册表...

飞鹰技术 6713

使用CPU时间戳进行高精度计时

 转出处:http://www.cppblog.com/sunraiing9/archive/2006/12/14/16415.html 呵呵 随手记一下,大家不要骂我#include  #pragma comment(lib,"winmm.lib")timegettime的标称是毫秒级别但是实际上只能精确到50毫秒

行吟阁 997

虚拟化CPU性能计数器排错:解决VMware“不支持”错误的4种场景与方法

本文详细解析了VMware虚拟化环境中CPU性能计数器排错的4种常见场景与方法,包括BIOS设置检查、CPU型号兼容性验证、EVC集群限制排查以及Fault Tolerance冲突处理。针对Intel VT-x和EPT技术支持的虚拟化性能监控单元(PMU),提供了从基础配置到高级验证的完整解决方案,帮助开发者和运维人员有效解决'不支持'错误,优化虚拟机性能分析能力。

weixin_32306957的博客 426

性能计数器

Processor/% Processor Time   阀值:处理器的阀值一般设为85%。 含义:这个计数器是处理器活动的主要指标。高数值并不一定是坏事,但是如果其他处理器相关的计数器(比如% Privileged Time 或者 Processor Queue Length)线性增加的话,高CPU使用率就值得调查了。   Processor/% Privileged Time 阀值

dinkysummydinky的专栏 1509

华为设备有关用户名密码的策略配置

命令用来开启对密码进行复杂度检查功能,设备默认已经是开启状态。1、密码长度大于等于12位,含数字大小写字母和特殊符号。2、设置密码更换周期为90天。取值范围8-16,默认长度为8位。登录失败后锁定时间大于15分钟。3、登录失败次数小于5次。4、登录超时30分钟以内。

简单的创作,希望可以帮助到跟我一样的学习者! 7840

从零到一:在RK3588 Android12上实战RTL8723DU WiFi蓝牙双模驱动移植

本文详细介绍了在RK3588 Android12系统上实战RTL8723DU WiFi蓝牙双模驱动移植的全过程。从驱动源码获取与修改、系统级集成与编译,到调试与性能优化,提供了完整的解决方案。特别针对USB接口适配、电源管理和蓝牙共存等关键问题给出了具体代码示例,帮助开发者快速完成驱动适配并提升设备稳定性。

weixin_28703489的博客 325

什么是程序计数器,CPU中有几个程序计数器,线程为什么有私有的程序计数器

1、什么是程序计数器 CPU再执行程序时,需要有一个地方存放下一条要被取走指令的位置,是一个寄存器。 2.CPU中有几个程序计数器 只有一个 3.线程为什么是私有的程序计数器 线程中的程序计数器可以理解为一段内存,用来保存当前线程执行到的位置,因为系统采用时间片轮转的方法,所以一个线程不可能一直占用CPU,只能执行规定时间,进行线程切换,这里就需要有一个私有的线程计数器,也就是本地计数器,来保存当前线程的执行到的位置,等到下一次再从这个位置继续执行。 ...

weixin_43157714的博客 3145

Spring Boot 实现多图片上传并回显,涨姿势了~

上传 Controller的代码非常简单,由于用了SpringMVC框架,所以直接用MultipartFile来接即可。由于是多图片上传所以用数组来接。此处应该注意参数名应该和<input>中的name值相对应: @RequestMapping("/pic") @ResponseBody publicResponseEntity<String>pic(MultipartFile[]pictures)throwsException{ ResponseEnti...

weixin_54556126的博客 893

CPU使用率过高咋办?看这里

微信公众号:Java随笔录 关注可了解更多Java相关的技术分享。问题或建议,欢迎公众号留言! 文章目录前言总体流程安装JDK命令行工具验证是否安装安装寻找问题所在解决问题公众号 前言 工作中发现机器的CPU使用率100%,不要慌,一起来找出原因并fix掉它。记住这个大致流程,当线上突然遇到时,就不会手足无措。 总体流程 找出CPU比较高的进程PID, top命令 打印该进程下线程的CPU占用比较高的tid, top -Hp {PID} 将该tid进行16进制转换id, printf "%.

JiangNanMax的博客 1779

python123题目——个税计算器

类型:简单分支。

m0_62488776的博客 5803

Ubuntu24安装MongoDB(解压版)

依据前面 Linux 发行版本的信息,选择你需要的版本,文件格式选择 tgz 格式,最后点击 Download(下载到你的电脑)或 点击 Copy link 左侧图标(复制下载链接在使用服务器下载)依据前面 Linux 发行版本的信息,选择你需要的版本,文件格式选择 tgz 格式,最后点击 Download(下载到你的电脑)或 点击 Copy link 左侧图标(复制下载链接在使用服务器下载)默认情况下,只能在本机访问 MongoDB,要想远程访问 MongoDB,需要修改配置文件。

rao991207823的博客 2021

Linux性能计数器实战:如何监控CPU缓存命中率

本文旨在帮助开发者和系统管理员理解CPU缓存的工作原理,并掌握使用Linux性能计数器监控缓存命中率的实用技能。我们将重点关注L1、L2和L3缓存的监控方法,以及如何解读相关数据。首先介绍CPU缓存的基本概念然后讲解Linux性能计数器的工作原理接着详细说明如何使用perf工具最后通过实际案例展示完整的监控流程CPU缓存:CPU内部的高速存储器,用于减少访问主内存的平均时间缓存命中率:CPU在缓存中找到所需数据的比例性能计数器:CPU内置的硬件计数器,用于统计各种硬件事件CPU缓存层次。

操作系统内核探秘的博客 1473

模板 - 树上问题(树的直径、动态查询树的直径、树的重心)

整理的算法模板合集: ACM模板 目录一、树的直径树形DP两次DFS / BFS(找到直径的两个端点)二、动态修改树的边权并求每个时刻的直径(线段树)三、树的重心 一、树的直径 树的直径满足如下性质: 若有多条直径,则所有的直径之间皆有公共点。 直径的两端一定是叶子。 树中距离某一直径端点最远的点,至少有一个是该直径的另一个端点。 对于树上任意一个点,与之距离最远的一个点,至少有一个直径的端点。 给你一个无权无向的树。编写程序以输出该树中最长路径(从一个节点到另一个节点)的长度。在这

繁凡さん的博客 1676

Vmware中虚拟化Intel VT-x、CPU性能计数器、 虚拟化IOMMU到底是什么?

2.2 虚拟化Intel VT-x 说明 VT英文全程 Virtualization Technology,即虚拟化技术。 x86平台上的VT技术,称之为VT-x; Itanium平台上的VT技术,称之为VT-i。 效果: 让单核CPU实现多核的效果,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响。个人认为是将提交给CPU的任务分时进行处理,应该不会增加CPU的性能,但是却能降低虚拟化的消耗,变相的提升计算机的性能,尤其是磁盘和内存性能。 值得注意的...

AlvinCR的博客 4万+

【PCL点云配准】位姿估计

本文介绍了PCL(Point Cloud Library)中TransformationEstimation模块的核心算法原理和实现方法。该模块通过多种子类(如SVD、LM、双四元数等)提供点云配准功能,支持2D/3D刚性变换估计。主要内容包括:1)各类变换估计算法的数学原理和实现细节;2)点对点/点对面两种误差度量方法;3)线性闭式解和非线性迭代两种求解方式;4)变换验证机制;5)基于三点法的完整代码示例。该模块广泛应用于SLAM、三维重建等领域,为点云配准提供了高效可靠的解决方案。

yijiujiusan的博客 241

Pixhawk2.4.8接口及引脚定义

pixhawk2.4.8接口定义图解

加斯顿工程师的博客 8745

利用性能计数器pdh读取cpu,内存,磁盘性能

1 /* 2 通过性能计数器获取某个进程的CPU使用率、内存使用量、磁盘读写速率 3 使用性能计数器中的Process实现 4 */ 5 6 7 #pragma comment(lib,"Pdh.lib") 8 #include <stdio.h> 9 #include <stdlib.h> 10 #include...

剑峰随心的博客 1120

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

使用PDH性能计数器获取CPU使用率网卡信息等

使用pdh包含头文件Pdh.h 库可以用#pragma comment(lib,"Pdh.lib")加载 通常步骤为打开查询,添加查询,查询的收集,取值。下面的是cpu使用率 HQUERY query; double CPUusage; PDH_STATUS status = PdhOpenQuery(NULL, NULL, &query); if (ERROR_SUCCES

zhizhuode的专栏 3079

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

操作系统性能计数器、CPU分析、磁盘I/O分析、内存分析

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 ...

花语无痕的博客 445

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

《Linux就该这么学》学习随笔第二天——VMware虚拟机安装“该主机cpu类型不支持虚拟化性能计数器。”

今天在安装虚拟机的时候遇到一个问题,记录下我的排查步骤以方便后来者。 问题描述: 虚机配置完成后,挂载系统镜像后开启虚拟机,虚机报错。提示“该主机cpu类型不支持虚拟化性能计数器,开启模块VPMC的操作失败,未能启动虚拟机。” 步骤: 看到这个错误提示,我首先想到的时物理机虚拟功能没有开启,所以我重启电脑进入BIOS,发现物理机的虚拟功能已开启。 又看了一下错误提示,发现有“CPU类型不支持虚拟...

L864873466的博客 4846

Windows宿主机禁用CPU性能计数器导致VMware启动失败

CPU性能监控计数器(PMC)是Intel/AMD处理器提供的硬件级性能分析基础设施,用于支持高精度时间戳、指令周期统计与ETW日志校准等关键功能。其工作原理依赖MSR寄存器(如IA32_MISC_ENABLE、IA32_PMCx)的底层访问,而现代Windows系统(Win10 20H1+/Win11)为规避驱动兼容性风险,默认启用DIS_PMC熔断机制,主动关闭PMC硬件支持。这一安全策略虽提升系统稳定性,却导致VMware VPMC模块因缺乏物理数据源而初始化失败,表现为Windows客户机启动中断—

weixin_30363981的博客 695

SQL SERVER资源性能监控-性能计数器具体案例(监控CPU)

本文讲述如何监控CPU的使用情况 前言: CPU是服务器中最重要的资源。在数据库服务器中,CPU的使用情况应该时刻监控以便SQLServer一直处于最佳状态。 本文将会使用可靠性和性能监视器来获取CPU相关的使用统计信息 可靠性和性能监视器是过去性能监视器工具的加强版。同时拥有性能监视器的全部功能。 性能计数器提供对各种系统活动的统计功能。可以找到有数百种

雅冰石的专栏 3755

VMWARE报错:该主机cpu类型不支持虚拟化性能计数器

该主机cpu类型不支持虚拟化性能计数器,开启模块VPMC的操作失败,未能启动虚拟机。 在vmware使用从其他机子上拷贝的Ubuntu的虚拟机的时候出现了报错 解决方法如下: 打开虚拟机设置——处理器,检查下虚拟化引擎下面 是否对应选项有勾选,有的话,去掉所有勾选,确定后,再打开虚拟机看下。 ...

thanklife的专栏 4万+

LIKWID核心功能解析:CPU性能计数器、拓扑检测与电源监控

LIKWID是一款功能强大的性能监控与基准测试套件,专为开发者和系统管理员提供全面的硬件性能分析工具。本文将深入解析其三大核心功能:高精度CPU性能计数器、系统拓扑检测以及实时电源监控,帮助用户快速掌握这款工具的使用方法与应用场景。 [![LIKWID性能监控工具logo](https://raw.gitcode.com/gh_mirrors/li/likwid/raw/36b7cdd603ab

gitblog_01071的博客 457
上一篇: Performance Counter (性能计数器) 在性能测试中的应用
下一篇: 64位系统中32位程序性能计数器无法工作的问题
维恩R
博客等级 码龄20年 18粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值