性能监控工具

perf kvm

为了在主机中使用perf kvm,您必须访问/ proc / modules和
/ proc / kallsyms文件。“复制/ proc文件从guest虚拟机到主机“,以将文件传输到主机并对文件运行报告。

注意:

如果直接复制所需的文件(例如,使用scp),您将只复制零的文件
长度。 此过程描述如何首先将guest虚拟机中的文件保存到临时位置
(使用cat命令),然后将它们复制到主机以供perf kvm使用。

在Guest系统上执行:

# cat /proc/modules > /tmp/modules

# cat /proc/kallsyms > /tmp/kallsyms

# scp root@GuestMachine:/tmp/kallsyms guest-kallsyms

# scp root@GuestMachine:/tmp/modules guest-modules

您现在有两个文件来自guest(guest-kallsyms和guest-modules),准备由perf kvm使用。

在Host中执行:

# perf kvm --host --guest --guestkallsyms=guest-kallsyms \ --guestmodules=guest-modules record -a -o perf.data

perf --host和--guest在命令中使用,输出将被存储
perf.data.kvm。 如果仅使用--host,则文件将命名为perf.data.host。
同样,如果只使用--guest,文件将被命名为perf.data.guest。

报告事件
以下示例命令使用通过记录过程获得的文件,和
将输出重定向到新文件中,进行分析。

perf kvm --host --guest --guestmodules=guest-modules report -i perf.data.kvm \ --force > analyze

查看分析文件的内容以检查记录的事件:

cat analyze

虚拟性能监控单元(PMU)

虚拟性能监视单元(vPMU)显示指示客户虚拟机的方式的统计信息
机器运行。
虚拟性能监视单元允许用户识别可能性能的来源
客户虚拟机中的问题。 vPMU基于英特尔的PMU(性能监控)
单位),并且只能在英特尔机器上使用。
只有运行Red Hat Enterprise Linux 6或Red的客户虚拟机才支持此功能
Hat Enterprise Linux 7,并且默认情况下禁用。
要验证系统是否支持vPMU,请检查主机CPU上的arch_perfmon标志
通过运行:

# cat /proc/cpuinfo|grep arch_perfmon

要启用vPMU,请在guest虚拟机XML中将cpu模式指定为host-passthrough:

# virsh dumpxml guest_name |grep "cpu mode"

<cpu mode='host-passthrough'>

启用vPMU后,通过在虚拟机中运行perf来显示虚拟机的性能统计信息

最新文章

  1. Android Studio使用技巧:导出jar包
  2. MYSQL(二)
  3. iOS开发——UI进阶篇(十八)核心动画小例子,转盘(裁剪图片、自定义按钮、旋转)图片折叠、音量震动条、倒影、粒子效果
  4. 模块化InnoSetup依赖项安装
  5. Find Minimum in Rotated Sorted Array II leetcode
  6. css的一些小技巧!页面视觉差!
  7. HDOJ 1428 漫步校园
  8. 反射,得到Type引用的三种方式
  9. JS代码平面化
  10. 简单三段式状态机实验2-LCD12864
  11. Spark 的combineByKey函数
  12. 论如何把JS踩在脚下 —— JQuery基础及Ajax请求详解
  13. LINUX 笔记-ps命令
  14. web性能优化之--合理使用http缓存和localStorage做资源缓存
  15. 学习笔记: 反射应用、原理,完成扩展,emit动态代码
  16. java语言的优缺点
  17. C#用默认浏览器打开特定网址的几种方法
  18. Linux内存管理2---段机制
  19. convert 批量文件的格式转换
  20. R语言学习笔记(十八):零碎知识点46-50

热门文章

  1. date 笔记
  2. Comparable &amp; Comparator
  3. 【HDOJ】2844 Coins
  4. C++ 完美破解九宫格(数独)游戏
  5. mybatis对java自定义注解的使用——入门篇
  6. gittalk报错Error
  7. C#如何使SQLite程序集既能适应32位系统也能适应64位系统
  8. 2018-2019-2 《网络对抗技术》Exp0 Kali安装 Week1
  9. leetcode — binary-tree-inorder-traversal
  10. Linux AIDE(文件完整性检测)
  11. 详解BOM用途分类及在汽车企业中的应用
  12. nagios监控客户端报错/usr/bin/perl^M: bad interpreter: No such file or directory
  13. Yarn的资源隔离机制
  14. linux-统计文本中符合条件的内容
  15. JavaScript游戏中的面向对象的设计
  16. python(33)多进程和多线程的区别
  17. Linux kill/pkill/killall命令详解
  18. c# Quartz.net的简单封装
  19. javascript中的this作用域详解
  20. IOS-推送通知