windows10 ubuntu子系统安装perf工具

news2024/11/24 19:58:43

文章目录

  • 1,ubuntu子系统中perf工具安装不了
    • 1.1,查看perf版本如下所示
    • 1.2,网上找不到对应的版本的内核源码,下载别的版本后,编译各种报错
  • 2,百度查到说是WSL1不支持perf
    • 2.1,查看WSL版本
  • 2.2,升级WSL2
      • 2.2.1,启用虚拟机功能
      • 2.2.2,按照步骤 4 - 下载 并安装WSL 2 Linux内核更新包
        • 2.2.2.1,下载更新包
        • 2.2.2.2,双击下载后的 wsl_update_x64.msi 来安装
      • 2.2.3,将 WSL 2 设置为默认版本
        • 2.2.3.1,启动windows虚拟机平台功能Hyper_V
        • 2.2.3.2,再次执行wsl --set-default-version 2
        • 2.2.3.3,虽然成功执行了wsl --set-default-version 2,但WSL版本还是1
        • 2.2.3.3.4,需要使用wsl.exe --set-version Ubuntu 2进行命令进行转换
        • 2.2.3.3.5,可以看到成功切换了WSL2
      • 2.2.4,进入ubuntu终端后可以看到版本变成了5.10.16.3-microsoft-standard-WSL2
  • 3,升级完WSL后,查看perf可以用了
  • 3.1,如果还不能用的话,按以下步骤在WSL2中安装perf

1,ubuntu子系统中perf工具安装不了

1.1,查看perf版本如下所示

perf --version

在这里插入图片描述

1.2,网上找不到对应的版本的内核源码,下载别的版本后,编译各种报错

2,百度查到说是WSL1不支持perf

对于 WSL 1 来说,主要的缺点有:

  • 文件 I/O 慢,尤其是在大量IO操作时,例如使用 git 克隆仓库;

  • 不支持内核程序;

WSL 2 针对以上两个缺点进行了修正:

  • 相比较于 WSL 1 使用翻译层将 linux 系统调用转化成 windows 系统调用,WSL 2 使用了一个轻量级的、无需维护的虚拟机,并在这个虚拟机中运行了一个完整的 linux 内核。
  • WSL 2 使用一个 VHD 虚拟磁盘文件作为 linux 发行版的根目录,其中使用 ext4文件系统格式,极大提升了IO性能。

2.1,查看WSL版本

wsl --list --verbose

在这里插入图片描述

2.2,升级WSL2

参考windows官方文档

https://docs.microsoft.com/zh-cn/windows/wsl/install-manual#step-3—enable-virtual-machine-feature

2.2.1,启用虚拟机功能

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

在这里插入图片描述

2.2.2,按照步骤 4 - 下载 并安装WSL 2 Linux内核更新包

2.2.2.1,下载更新包

在这里插入图片描述

2.2.2.2,双击下载后的 wsl_update_x64.msi 来安装

在这里插入图片描述

2.2.3,将 WSL 2 设置为默认版本

wsl --set-default-version 2

在这里插入图片描述

2.2.3.1,启动windows虚拟机平台功能Hyper_V

如果没有Hyper_V,可以参考:
https://blog.csdn.net/weixin_44801799/article/details/123140330

在这里插入图片描述

2.2.3.2,再次执行wsl --set-default-version 2

在这里插入图片描述

2.2.3.3,虽然成功执行了wsl --set-default-version 2,但WSL版本还是1

在这里插入图片描述

2.2.3.3.4,需要使用wsl.exe --set-version Ubuntu 2进行命令进行转换

wsl.exe --set-version Ubuntu 2

在这里插入图片描述

2.2.3.3.5,可以看到成功切换了WSL2

在这里插入图片描述

2.2.4,进入ubuntu终端后可以看到版本变成了5.10.16.3-microsoft-standard-WSL2

在这里插入图片描述

3,升级完WSL后,查看perf可以用了

在这里插入图片描述

3.1,如果还不能用的话,按以下步骤在WSL2中安装perf

如果您在WSL 2中使用Ubuntu,这是必需的命令:

sudo apt install build-essential flex bison libssl-dev libelf-dev

克隆WSL 2 Linux内核存储库

git clone --depth=1 https://github.com/microsoft/WSL2-Linux-Kernel.git

转到perf文件夹并编译:

cd WSL2-Linux-Kernel/tools/perf
make

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/461487.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQ基础知识整合

目录 模糊查询 排序 单行函数 多行函数 分组函数 having 单表查询执行顺序总结 distinct 连接查询 子查询 union limit DQL语句执行顺序 DDL语句 日期化 date和date_format区别 update table 的快速创建以及删除(及回滚) 约束 事务 …

HTTP基础知识汇总

伴随着云原生(Cloud Native)的兴起,面向服务架构(Service-Oriented Architecture,SOA)、微服务(Microservice)、容器(Container)等相关概念与技术正在逐渐影响CAx(CAD/CAE/CAM)软件的架构设计与开发。 在云原生CAx软件中,首先需要把系统按照…

MySQL锁详解及案例分析

MySQL锁详解及案例分析 一、一条update语句二、MySQL锁介绍三、全局锁全局锁演示1.环境准备2.全局锁演示 四、MySQL表级锁(都是Server层实现)1、表级锁介绍2、表读S、写锁X1)表锁相关命令2)表锁演示1、表级的共享锁(读锁)2、表级的…

VLAN实验

SW1 [sw1]int g0/0/2 [sw1-GigabitEthernet0/0/2]dis this interface GigabitEthernet0/0/2 port link-type access port default vlan 2 pc1划分到vlan 2 [sw1-GigabitEthernet0/0/3]dis t…

【C++STL】set

前言 前面的CSTL的博客,我们介绍了string,vector,list,deque,priority_queue还有stack和queue。 这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面存储的是元素本身。 而从本节开…

【正点原子STM32精英V2开发板体验】体验LVGL的SD NAND文件系统

目的 验证基于SD NAND卡在正点原子STM32精英V2开发板上的兼容效果 实验材料 正点原子STM32精英V2开发板 TF 卡一片 SD NAND卡一片 实验步骤 1、打开例程【正点原子】精英STM32F103开发板 V2-资料盘(A盘)\4,程序源码\3,扩展例程\4,LVGL…

数据库系统概论(二)关系数据库,SQL概述和数据库安全性

作者的话 前言:总结下知识点,自己偶尔看一看。 目录 一、关系模型概述 1.1关系数据结构及形式化定义 1.1.1域(Domain) 1.1.2笛卡尔积(Cartesian Product) 1.1.3关系(Relation) …

Android之 WebView的使用

一 简介 1.1 WebView是用来展示网页的控件,底层是google的WebKit的引擎。 比起苹果的WebView,webkit一些不足地方: 不能支持word等文件的预览 纯标签加载,并不支持所有标签的加载 不支持文件的下载,图片的放大&#…

MATLAB连续时间信号的实现和时域基本运算(八)更新中...

1、实验目的: 1)熟悉常用连续时间信号的实现方法; 2)掌握连续时间信号的时域基本运算; 3)掌握实现基本函数及其运算的函数的使用方法; 4)加深对信号基本运算的理解。 2、实验内容&am…

Python Selenium 关键字驱动

目录 项目目录结构 action目录 config目录 exceptionpictures目录 log目录 testCases目录 testData目录 util目录 总结 之前写过一篇Java版的关键字驱动,现在来写一篇Python版本的,网上好多教程都是虎头蛇尾的不完整~ 说下思路,这边没…

十、ElasticSearch 实战 - 源码运行

一、概述 想深入理解 Elasticsearch,了解其报错机制,并有针对性的调整参数,阅读其源码是很有必要的。此外,了解优秀开源项目的代码架构,能够提高个人的代码架构能力 阅读 Elasticsearch 源码的第一步是搭建调试环境&…

C++的左值引用和右值引用

引用和指针的区别? 引用必须初始化,指针可以不初始化 定义一个指针和引用汇编指令上一样的,引用底层还是指针 引用只有一级引用,没有多级引用,而指针可以有多级指针 定义一个引用变量和指针变量,它们汇…

【c语言】函数指针详解

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 给大家跳段街舞感谢支持&#xff01;ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ…

Android Framework—Service

介绍 Service是一种可以在后台执行长时间运行操作而不提供界面的应用组件。服务可以由其他应用组件启动&#xff0c;而且即使用户切换到其他应用&#xff0c;服务仍将在后台继续运行。此外&#xff0c;组件可以通过绑定到服务与之进行交互&#xff0c;甚至是执行进程之间的通信…

Unreal5 第三人称射击游戏 角色基础制作

快捷键 快捷键 ctrlE 可以快速打开相关蓝图类&#xff0c;直接在场景选中添加到场景中的对象即可。 调试蓝图 选中调试对象&#xff0c;选中需要调试的实例&#xff0c;即可查看当前角色的状态。 动画实例在运行的时候&#xff0c;也可以在右侧箭头获取当前场景已经生成的实…

Linux socket编程(二):多进程服务器

一、多进程服务器 最简单的的服务器程序执行流程为&#xff1a;创建socket → \rightarrow → 绑定监听的IP地址和端口 → \rightarrow → 监听客户端连接 → \rightarrow → 接受/发送数据。当服务端调用read阻塞等待一个客户端发来数据时&#xff0c;无法同时响应其它客户…

七、CANdelaStudio入门-Variant概念与应用

本专栏将由浅入深的展开诊断实际开发与测试的数据库编辑,包含大量实际开发过程中的步骤、使用技巧与少量对Autosar标准的解读。希望能对大家有所帮助,与大家共同成长,早日成为一名车载诊断、通信全栈工程师。 本文介绍CANdelaStudio的Variant概念与应用,欢迎各位朋友订阅、…

Redis实现互相关注功能

Redis实现互相关注功能 我们要实现关注功能&#xff0c;首先&#xff0c;我们需要得到关注的目标ID&#xff1a; PutMapping("/{id}/{isFollow}")public Result followUser(PathVariable("id") Long id,PathVariable("isFollow") Boolean isFol…

下一代大数据分布式存储技术Apache Ozone初步研究

文章目录 概述定义特性架构总体架构写数据读数据 部署安装方式安装Docker启动Docker-compose启动企业预置型(On Premise)安装 实践命令行接口Ofs (Hadoop兼容)Recon API 概述 定义 Apache Ozone 官网地址 https://ozone.apache.org/ 最新版本1.3.0 Apache Ozone 官网最新文档地…

Java线程间通信方式(2)

前文了解了线程通信方式中的Object.wait/Object.notify以及Semaphore,接下来我们继续了解其他的线程间通信方式。 CountDownLatch CountDownLatch利用一个指定的计数初始化&#xff0c;由于调用了countDown方法&#xff0c;await方法会阻塞直到当前技术为0&#xff0c;之后所…