怎样卸载ni io java iotracee 3.0.2

NI I/O Trace 3.1.1 - Windows - National Instruments
NI I/O Trace 3.1.1 - Windows
4 Ratings | 4.50 out of 5
Download and run the self-extracting executable to install NI I/O Trace 3.1.1.
本网站使用cookies来为您提供更好的浏览体验。如何在Android平台上使用IO分析工具(blktrace)
编辑:www.fx114.net
本篇文章主要介绍了"如何在Android平台上使用IO分析工具(blktrace)",主要涉及到如何在Android平台上使用IO分析工具(blktrace)方面的内容,对于如何在Android平台上使用IO分析工具(blktrace)感兴趣的同学可以参考一下。
1. 首先要在内核中加入I/O追踪支持
kernel hacking =& tracer =& enabling IO tracer
CONFIG_BLK_DEV_IO_TRACE
为了保证安全还可以加入一些其他的追踪选项
2. 同时,所有的cpu核都要出于工作状态,可以达到这一目的。
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:blktrace分析IO - 推酷
blktrace分析IO
上篇博客介绍了iostat的一些输出,这篇介绍blktrace这个神器。上一节介绍iostat的时候,我们心心念念希望得到块设备处理io的service time,而不是service time + wait time,因为对于评估一个磁盘或者云磁盘而言,service time才是衡量磁盘性能的核心指标和直接指标。很不幸iostat无法提供这个指标,但是blktrace可以。
blktrace是一柄神器,很多工具都是基于该神器的:ioprof,seekwatcher,iowatcher,这个工具基本可以满足我们的对块设备请求的所有了解。
blktrace的原理
一个I/O请求,从应用层到底层块设备,路径如下图所示:
从上图可以看出IO路径是很复杂的。这么复杂的IO路径我们是无法用短短一篇小博文介绍清楚的。我们将IO路径简化一下:
一个I/O请求进入block layer之后,可能会经历下面的过程:
Remap: 可能被DM(Device Mapper)或MD(Multiple Device, Software RAID) remap到其它设备
Split: 可能会因为I/O请求与扇区边界未对齐、或者size太大而被分拆(split)成多个物理I/O
Merge: 可能会因为与其它I/O请求的物理位置相邻而合并(merge)成一个I/O
被IO Scheduler依照调度策略发送给driver
被driver提交给硬件,经过HBA、电缆(光纤、网线等)、交换机(SAN或网络)、最后到达存储设备,设备完成IO请求之后再把结果发回。
blktrace 能够记录下IO所经历的各个步骤:
我们一起看下blktrace的输出长什么样子:
第一个字段:8,0 这个字段是设备号 major device ID和minor device ID。
第二个字段:3 表示CPU
第三个字段:11 序列号
第四个字段:0. Time Stamp是时间偏移
第五个字段:PID 本次IO对应的进程ID
第六个字段:Event,这个字段非常重要,反映了IO进行到了那一步
第七个字段:R表示 Read, W是Write,D表示block,B表示Barrier Operation
第八个字段:,表示的是起始block number 和 number of blocks,即我们常说的Offset 和 Size
第九个字段: 进程名
其中第六个字段非常有用:每一个字母都代表了IO请求所经历的某个阶段。
Q – 即将生成IO请求
G – IO请求生成
I – IO请求进入IO Scheduler队列
D – IO请求进入driver
C – IO请求执行完毕
注意,整个IO路径,分成很多段,每一段开始的时候,都会有一个时间戳,根据上一段开始的时间和下一段开始的时间,就可以得到IO 路径各段花费的时间。
注意,我们心心念念的service time,也就是反应块设备处理能力的指标,就是从D到C所花费的时间,简称D2C。
而iostat输出中的await,即整个IO从生成请求到IO请求执行完毕,即从Q到C所花费的时间,我们简称Q2C。
我们知道Linux 有I/O scheduler,调度器的效率如何,I2D是重要的指标。
注意,这只是blktrace输出的一个部分,很明显,我们还能拿到offset和size,根据offset,我们能拿到某一段时间里,应用程序都访问了整个块设备的那些block,从而绘制出块设备访问轨迹图。
另外还有size和第七个字段(Read or Write),我们可以知道IO size的分布直方图。对于本文来讲,我们就是要根据blktrace来获取这些信息。
blktrace、blkparse和btt
我们接下来简单介绍这些工具的使用,其中这三个命令都是属于blktrace这个包的,他们是一家人。
首先通过如下命令,可以查看磁盘上的实时信息:
blktrace -d /dev/sdb -o – | blkparse -i –
这个命令会连绵不绝地出现很多输出,当你输入ctrl+C的时候,会停止。
当然了,你也可以先用如下命令采集信息,待所有信息采集完毕后,统一分析所有采集到的数据。搜集信息的命令如下:
blktrace -d /dev/sdb
注意,这个命令并不是只输出一个文件,他会根据CPU的个数上,每一个CPU都会输出一个文件,如下所示:
-rw-r--r-- 1 manu manu
6 19:58 sdb.blktrace.0
-rw-r--r-- 1 manu manu
6 19:58 sdb.blktrace.1
-rw-r--r-- 1 manu manu
6 19:58 sdb.blktrace.10
-rw-r--r-- 1 manu manu
6 19:58 sdb.blktrace.11
-rw-r--r-- 1 manu manu
6 19:58 sdb.blktrace.12
-rw-r--r-- 1 manu manu
6 19:58 sdb.blktrace.13
-rw-r--r-- 1 manu manu
6 19:58 sdb.blktrace.14
-rw-r--r-- 1 manu manu
6 19:58 sdb.blktrace.15
-rw-r--r-- 1 manu manu
6 19:58 sdb.blktrace.16
-rw-r--r-- 1 manu manu
6 19:58 sdb.blktrace.17
-rw-r--r-- 1 manu manu
6 19:58 sdb.blktrace.18
-rw-r--r-- 1 manu manu
6 19:58 sdb.blktrace.19
-rw-r--r-- 1 manu manu
6 19:58 sdb.blktrace.2
-rw-r--r-- 1 manu manu
6 19:58 sdb.blktrace.20
-rw-r--r-- 1 manu manu
6 19:58 sdb.blktrace.21
-rw-r--r-- 1 manu manu
6 19:58 sdb.blktrace.22
-rw-r--r-- 1 manu manu
6 19:58 sdb.blktrace.23
-rw-r--r-- 1 manu manu 1005K Jul
6 19:58 sdb.blktrace.3
-rw-r--r-- 1 manu manu
6 19:58 sdb.blktrace.4
-rw-r--r-- 1 manu manu
6 19:58 sdb.blktrace.5
-rw-r--r-- 1 manu manu
6 19:58 sdb.blktrace.6
-rw-r--r-- 1 manu manu
6 19:58 sdb.blktrace.7
-rw-r--r-- 1 manu manu
6 19:58 sdb.blktrace.8
-rw-r--r-- 1 manu manu
6 19:58 sdb.blktrace.9
有了输出,我们可以通过blkparse -i sdb来分析采集的数据:
+ 8 [kworker/u482:0]
+ 8 [kworker/u482:0]
+ 16 [kworker/u482:0]
+ 8 [kworker/u482:0]
+ 8 [kworker/u482:0]
+ 8 [kworker/u482:0]
N [kworker/u482:0] 14
+ 8 [ceph-osd]
+ 8 [ceph-osd]
+ 8 &- (8,22)
+ 8 [kworker/u482:0]
+ 8 [kworker/u482:0]
N [kworker/u482:0]
+ 8 [kworker/u482:0]
N [kworker/u482:0] 1
+ 8 [ceph-osd]
+ 8 [ceph-osd]
+ 8 [ceph-osd]
+ 8 [ceph-osd]
+ 8 [ceph-osd]
+ 8 [ceph-osd]
注意,blkparse仅仅是将blktrace输出的信息转化成人可以阅读和理解的输出,但是,信息太多,太杂,人完全没法得到关键信息。 这时候btt就横空出世了,这个工具可以将blktrace采集回来的数据,进行分析,得到对人更有用的信息。事实上,btt也是我们的终点。
接下来,我们要利用blktrace blkparse 以及btt来采集和分析单块磁盘的的性能,最终我会生成一个pdf的文档。步骤如下:
输入: blktrace采集到的原始数据
输出: 使用btt,blkparse还有自己写的一些bash脚本和python脚本,输出出pdf格式的report
通过各种工具,生成原始的分析结果,以及绘制对应的PNG图片:
将分析结果以表格和图片的方式,写入markdown文本
将markdown 文本通过pandoc转换成pdf文档。
获取个阶段的延迟信息
注意,btt已经可以很自如地生成这部分统计信息,我们可以很容易得到如下的表格:
方法如下:
首先blkparse可以将对应不同cpu的多个文件聚合成一个文件:
blkparse -i sdb -d sdb.blktrace.bin
然后btt就可以分析这个sdb.blktrace.bin了:
==================== All Devices ====================
--------------- ------------- ------------- ------------- -----------
==================== Device Overhead ====================
---------- | --------- --------- --------- --------- ---------
---------- | --------- --------- --------- --------- ---------
==================== Device Merge Information ====================
---------- | -------- -------- ------- | -------- -------- -------- --------
==================== Device Q2Q Seek Information ====================
MEDIAN | MODE
---------- | --------------- --------------- --------------- | ---------------
0 | 0(17159)
---------- | --------------- --------------- --------------- | ---------------
MEDIAN | MODE
0 | 0(17159)
==================== Device D2D Seek Information ====================
MEDIAN | MODE
---------- | --------------- --------------- --------------- | ---------------
0 | 0(9249)
---------- | --------------- --------------- --------------- | ---------------
MEDIAN | MODE
0 | 0(9249)
注意: D2C和Q2C,一个是表征块设备性能的关键指标,另一个是客户发起请求到收到响应的时间,我们可以看出,
D2C 平均在0. 秒,即0.7毫秒 Q2C 平均在0. 秒,即2.5毫秒,
无论是service time 还是客户感知到的await time,都是非常短的,表现非常不俗。但是D2C花费的时间只占整个Q2C的30%, 51%以上的时间花费在I2D。
下面我们看下D2C和Q2C随着时间的分布情况:
绘制图片需要的信息可以通过如下指令得到:
btt -i sdb.blktrace.bin -l sdb.d2c_latency
btt -i sdb.blktrace.bin -q sdb.q2c_latency
IOPS 和 MBPS
从btt出发,我们分析出来采样时间内,整个块设备的IOPS:
获取方法如下:
blkparse -i sdb -d sdb.blktrace.bin
btt -i sdb.blktrace.bin -q sdb.q2c_latency
注意,这一步之后,我们会得到如下文件:
sdb.q2c_latency_8,16_q2c,dat
sys_iops_fp.dat
sys_mbps_fp.dat
8,16_iops_fp.dat
8,17_mbps_fp.dat
注意,如果我们blktrace -d sdb,只关注sdb的时候,我们可以通过sys_iops_fp.dat和sys_mbps_fp.dat获取对应的IOPS和MBPS信息:
cat sys_iops_fp.dat
IO Size Historgram
我们很关心,在采样的时间内,IO size的分布情况,因为这个可以得到,过去的时间里,我们是大IO居多还是小IO居多:
步骤如下:
blkparse -i sdb -d sub.blktrace.bin
btt -i sdb.blktrace.bin -B sdb.offset
这个步骤之后会生成三个文件:
sdb.offset_8,16_r.dat
sdb.offset_8,16_w.dat
sdb.offset_8,16_c.dat
其中r表示读操作的offset和size信息,w表示写操作的offset和size信息,c表示读+写。
其输出格式如下:
cat sdb.offset_8,16_w.dat
注意,第一个字段是时间,第二个字段是开始扇区即offset,第三个字段为结束扇区。不难根据第二个字段和第三个字段算出来size。当然了单位为扇区。
访问轨迹图
注意上小节,可以拿到不同时间里,访问磁盘的位置以及访问扇区的个数,如果不考虑访问扇区的个数,我们可以得到一张访问轨迹2D图:
如果把访问扇区的个数作为第三个维度,可以得到一张三维图
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致检查VISA通信 - LabVIEW 2011帮助 - National Instruments
您的位置:& &
检查VISA通信
如要检查VISA和设备驱动都安装正确,且VISA已检测到仪器,首先,查看VISA资源名称下拉列表中的资源名称。如列表中没有资源名称,VISA或设备驱动可能未正确安装。(Windows)使用,配置和测试仪器通信。如VISA资源名称下拉列表中出现了资源名称,但是某一个仪器没有出现在列表中,可能是电缆连接问题。
如VISA已正确安装且VISA检测到了仪器,但是运行仪器控制程序时接收到错误消息,必须确定LabVIEW中怎样的VI顺序产生了错误。如使用仪器驱动,,以检查各个控件设置正确。
NI I/O Trace是在应用程序运行时监测仪器I/O通信的工具。NI I/O Trace可在LabVIEW VI运行时获取仪器I/O调用及其结果。捕捉调用和其它结果可帮助用户调试仪器通信的问题。选择工具»仪器»NI I/O Trace,可打开NI I/O Trace。(Windows) 也可选择开始»所有程序»National Instruments»NI I/O Trace,打开NI I/O Trace。(Mac OS X) 也可选择Applications»National Instruments»NI I/O Trace,双击打开NI I/O Trace。(Linux) 在命令行中输入niiotrace,打开NI I/O Trace。
您的评价!&
&差&&|&&好&
&文档质量?&
&是否解答了您的问题?&
&|&&|&&|&&&&&&&|&&&What is apitrace?
apitrace consists of a set of tools to:
trace OpenGL, OpenGL ES, Direct3D, and DirectDraw API
replay the recorded calls from a file, on any machine and, for OpenGL and OpenGL ES, on
inspect state at any
view frame
Screenshots are of
API support matrix
OpenGL 1.0 & 4.5
OpenGL ES 1.0 & 3.0
Direct3D 11.x
Direct3D 10.x
Direct3D 9.x
Direct3D 8
Direct3D 7
DirectDraw
OS support matrix
apitrace is open-source and is hosted on , and the source can be cloned via git.
git clone git:///apitrace/apitrace.git
Binary versions of apitrace for some platforms are available .
Documentation
Miscellaneous:
Similar/related open-source tools
Linux, Window
Direct3D 11-12, OpenGL 3.2+ core, Vulkan
Windows, partial Linux
Windows, Linux
D3D9 to D3D11.1
OpenGL&ES, Metal
OpenGL&ES, Vulkan
D3D9 to D3D11, OpenGL
OpenGL, OpenGL&ES
Android, Linux
OpenGL, OpenCL, Vulkan
Windows, Linux
OpenGL, D3D9 to D3D11
OpenGL, OpenGL&ES, D3D9-11
Windows, Linux
Imagination
Linux, Android
OpenGL&ES, OpenCL
Linux, Android

我要回帖

更多关于 ubuntu 卸载docker.io 的文章

 

随机推荐