i5 1240p使用perf避坑指南

这篇具有很好参考价值的文章主要介绍了i5 1240p使用perf避坑指南。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

新入手了一台小米迷你主机,CPU是英特尔的十二代i5 1240p,intel i5 1240p微架构属于alder lake,有4个大核,8个小核,每个大核有两个线程,因此,该CPU多线程能力为12核16线程。最近在研究性能剖析相关的知识,没想到遇到了不少坑,记于此。

Perf on WSL(cycles:u not supported)

首先尝试了在windows wsl中使用perf

$ sudo apt install linux-tools-generic

安装的可执行程序位于/usr/lib/linux-tools/\<kernel version>/perf

$ perf stat ls
Performance counter stats for 'ls':

              0.76 msec task-clock:u              #    0.706 CPUs utilized
                 0      context-switches:u        #    0.000 /sec
                 0      cpu-migrations:u          #    0.000 /sec
               113      page-faults:u             #  149.431 K/sec
   <not supported>      cycles:u
   <not supported>      instructions:u
   <not supported>      branches:u
   <not supported>      branch-misses:u

       0.001070439 seconds time elapsed

       0.001058000 seconds user
       0.000000000 seconds sys

查看pmu驱动,结果是这样的

$ dmesg | grep PMU

$ dmesg | grep PMU
[    0.094674] Performance Events: unsupported p6 CPU model 154 no PMU driver, software events only.
$ lscpu
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   39 bits physical, 48 bits virtual
CPU(s):                          16
On-line CPU(s) list:             0-15
Thread(s) per core:              2
Core(s) per socket:              8
Socket(s):                       1
Vendor ID:                       GenuineIntel
CPU family:                      6
Model:                           154
Model name:                      12th Gen Intel(R) Core(TM) i5-1240P
Stepping:                        3
CPU MHz:                         2112.007
BogoMIPS:                        4224.01
Virtualization:                  VT-x
Hypervisor vendor:               Microsoft
Virtualization type:             full
L1d cache:                       384 KiB
L1i cache:                       256 KiB
L2 cache:                        10 MiB
L3 cache:                        12 MiB
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Mmio stale data:   Not affected
Vulnerability Retbleed:          Mitigation; Enhanced IBRS
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:        Mitigation; Enhanced IBRS, IBPB conditional, RSB filling, PBRSB-eIBRS SW sequence
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxs
                                 r sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology tsc_
                                 reliable nonstop_tsc cpuid pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic m
                                 ovbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowpr
                                 efetch invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi ept vpid ept_a
                                 d fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb
                                 sha_ni xsaveopt xsavec xgetbv1 xsaves avx_vnni umip waitpkg gfni vaes vpclmulqdq rdpid
                                 movdiri movdir64b fsrm serialize flush_l1d arch_capabilities

Flags中没有看到arch_perfmon,也就是说Hardware Performance Monitor没有使能

Perf On Hyper-V

再试一下通过Hyper-V行不行,我已经使能了Hyper-V,然后通过微软这篇官方[1]文档使能pmu

$ # Enable IPT
Set-VMProcessor MyVMName -Perfmon @("ipt", "pmu")

再启动Hyper-V虚拟机,直接报错找不到系统监视器,启动失败

小米迷你主机安装Ubuntu

一开始安装的20.04,发现wifi驱动没有适配,为了省事,直接安装22.04。装完之后,pmu能正常使用了。

 Performance counter stats for 'ls':

              0.78 msec task-clock                #    0.548 CPUs utilized          
                 0      context-switches          #    0.000 /sec                   
                 0      cpu-migrations            #    0.000 /sec                   
                91      page-faults               #  116.387 K/sec                  
         1,448,050      cpu_core/cycles/          #    1.852 G/sec                  
     <not counted>      cpu_atom/cycles/                                              (0.00%)
         1,749,783      cpu_core/instructions/    #    2.238 G/sec                  
     <not counted>      cpu_atom/instructions/                                        (0.00%)
           325,300      cpu_core/branches/        #  416.052 M/sec                  
     <not counted>      cpu_atom/branches/                                            (0.00%)
             9,590      cpu_core/branch-misses/   #   12.265 M/sec                  
     <not counted>      cpu_atom/branch-misses/                                       (0.00%)

       0.001426852 seconds time elapsed

       0.001447000 seconds user
       0.000000000 seconds sys

推荐一个烧录镜像工具,Rufus,功能简单清晰
i5 1240p使用perf避坑指南

参考文献

[1]: https://learn.microsoft.com/zh-cn/windows-server/virtualization/hyper-v/manage/performance-monitoring-hardware文章来源地址https://www.toymoban.com/news/detail-436128.html

到了这里,关于i5 1240p使用perf避坑指南的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Docker中部署GitLab 避坑指南

    在容器化的世界中,Docker已经成为了我们部署和管理应用程序的首选工具。然而,在使用Docker部署GitLab时,我们可能会遇到一些问题,本文将为你提供一份详细的避坑指南。网上的教程有的都没说清楚,或者干脆是错的。摸索了好几个小时,才知道为啥要这么做。 这一步自行

    2024年03月27日
    浏览(47)
  • 使用VirtualBox安装Linux虚拟机,避坑指南

      记录一下自己学习Linux系统的过程。因为本人一直使用的是Windows系统,所以需要装一个虚拟机来创建一个基于Linux内核的操作系统。主要分为以下两个不步骤:第一步,先安装虚拟机软件,我用的是VirtualBox,使用其他的也可以;第二步就是用虚拟机软件安装Linux系统。  

    2023年04月24日
    浏览(62)
  • linux下的mosquitto服务安装及使用(避坑指南)

    Mosquitto是一个开源的MQTT消息代理服务器。MQTT是一个轻量级的、基于发布/订阅模式的消息传输协议。 mosquitto的安装使用比较简单,可以方便的来进行一些测试。 Mosquitto的特点: 1. 轻量级:Mosquitto是一个轻量级的MQTT代理服务器,它的设计目标是提供高效、快速和可靠的消息传

    2024年02月12日
    浏览(43)
  • 【Django】Django4.1.2使用xadmin避坑指南

    换成Django4版本使用xadmin真是需要巨大勇气。 win10 python3.9.0 django4.1.2 解决办法: 如果正常安装了xadmin库的话,six库也会安装,把 项目根目录/venv/Lib/site-packages/six.py 复制到 项目根目录/venv/Lib/site-packages/django/utils 下即可。 分析: Django已经弃用 ugettext(), ugettext_lazy(), ugettext_noo

    2023年04月08日
    浏览(167)
  • Ubuntu 20.04使用 VNC远程桌面连接避坑指南

    自从开始使用Ubuntu 20.04搭建深度学习服务器,就想到使用VNC远程桌面连接使用。可是之前一直使用的是Ubuntu18.04,心里想着设置应该不难,结果在配置的时候总出现无法连接的错误。下面我就分享一下我使用TigerVNC配置远程桌面连接过程中遇到的问题和解决方法。 本文使用的

    2024年02月04日
    浏览(51)
  • Flyway详解(使用说明及避坑指南、一文搞懂flyway)

    Flyway是一款开源的数据库版本管理工具,可以实现管理并跟踪数据库变更,支持数据库版本自动升级,而且不需要复杂的配置,能够帮助团队更加方便、合理的管理数据库变更。 例:创建两个sql变更文件,项目启动后会将两个文件中的sql语句全部执行。 简单举个例子:开发

    2023年04月22日
    浏览(51)
  • nvm详细安装步骤避坑指南以及使用(以win11系统为例)

    nvm是一个管理nodejs版本的工具。在实际的开发中,有些项目的开发依赖需要低版本的nodejs运行环境,有些则需要高版本的nodejs,此时我们就需要使用nvm来切换nodejs版本。 卸载现有 node 请注意,在安装适用于 Windows 的 NVM 之前,您需要卸载任何现有的 node.js 版本。还要删除所有

    2024年02月16日
    浏览(57)
  • 小程序表单校验uni-forms正确使用方式及避坑指南

    小程序上使用表单理应是很常用,也很必须的功能,因为系统实用了uni-app,所以这时候会用到uni-forms,但使用过程中遇到不少问题。 这边的需求有3个: 即时校验(输入框失焦立即校验值) 需自定义校验规则 需要异步校验 满足这3个需求,就能实现绝大部分表单校验,然而

    2024年01月18日
    浏览(56)
  • React18.x + i18next + antd 国际化正确使用姿势及避坑指南

    如果你使用这个教程还不能够解决你的问题的话,直接私信我,免费一对一给你解决。 具体的创建方法大家参考vite官方文档,大概的操作如下,如果需要更详细的,大家去自行搜索即可 因为我这里使用的是ts版本,所以,你自己看着办吧。 其中 i18next-browser-languagedetector i1

    2024年02月05日
    浏览(62)
  • 小米电机CyberGear STM32HAL 使用指南

    在23年8月底 小米正式发售了用于其铁蛋2代的小米“微电机”,准确来说就是目前机器人方向流行的关节电机。根据其参数可知,在同等重量下,小米此款电机不仅在额定扭矩上达到了4NM,峰值扭矩达到了12NM的水平,同时在价格上也基本上算是全网最低。笔者也是通过预购,在发售之

    2024年02月08日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包