linux性能分析工具、调试工具 浅析.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
linux性能分析工具、调试工具 浅析.ppt

Linux性能分析工具、调试工具 浅析 irenezhan 2013-3-29 目 录 性能分析工具 内存分析工具 Linux内存解析 free I/O分析工具 iostat 文件分析工具 lsof、readlink cpu分析工具 vmstat、top 目 录 调试工具 代码分析工具 file、nm、c++filt、ldd addr2line 代码耗时分析工具 time gprof 、 strace 、ltrace 内存泄露检测工具 valgrind、mtrace 性能分析工具 内存分析工具 Linux内存解析 free I/O分析工具 iostat 文件分析工具 lsof、readlink cpu分析工具 vmstat、top Linux内存浅析-swap 用做虚拟内存的硬盘部分被称为交换空间(swap space)。 1、我们经常认为swap使用较少,内存就够用。 2、有一种例外: 如果一个占用很多物理内存的进程结束并释放内存时。被交换出的数据并不会自动地交换进内存。这时会出现一个状况:尽管有许多的空闲内存,仍然会有许多的交换空间正被使用。 3、Linux经常使用一部分交换空间,以保持尽可能多的空闲物理内存。即使并没有什么事情需要内存,Linux也会交换出暂时不用的内存页面。这可以避免等待交换所需的时间:当磁盘闲着,就可以提前做好交换。 Linux内存浅析-buffer和cache 如果给所有应用分配足够内存后,物理内存还有剩余,linux会尽量再利用这些空闲内存,以提高整体I/O效率,其方法是把这部分剩余内存划分为cache及buffer。 1、磁盘缓冲(disk buffering): 指将信息从磁盘上仅读入一次并将其存于内存中,除了第一次读以外,可以加快所有其它读的速度。被用作此目的的内存称为高速缓冲(Buffer Cache),即Cache。 2、一个应用程序在内存中修改过数据后,因为写入磁盘速度较低,这些数据先存入buffer,在以后某个时间再写入磁盘 如果在某个时刻,系统需要更多的内存,则会把cache部分擦除,并把buffer中的内容写入磁盘,从而把这两部分内存释放给系统使用,这样再次读取cache中的内容时,就需要重新从磁盘读取了。 */30 * * * * echo 2 /proc/sys/vm/drop_caches 用作清除缓存,就是让cache减小 sync命令让脏数据下盘,可以让buffer减小一点 free 作用:查看系统内存的使用情况(单位都是KB) 性能分析工具 内存分析工具 Linux内存解析 free I/O分析工具 iostat 文件分析工具 lsof、readlink cpu分析工具 vmstat、top iostat 作用:评估磁盘的利用率,从而探测到系统中的I/O瓶颈。 数据分析出 I/O 请求的模式,以及 I/O 的速度和响应时间 一般使用的时候用到-x(extended) r/s: 每秒完成的读 I/O 设备次数,是实际读取的数量 w/s: 每秒完成的写 I/O 设备次数,是实际写入的数量 每秒有 2.36次设备 I/O 操作: 总IO(io)/s = r/s(读) +w/s(写) 但请求比这两个数据大,因为当系统调用需要读取数据时,VFS将请求发到各个FS,FS发现不同的读请求读取的是相同的block的数据,就会将这些请求合并。 wrqm/s 每秒有多少个写请求被merge了 iostat rsec/s: 每秒读扇区数 wsec/s: 每秒写扇区数 rkB/s: 每秒读K字节数 wkB/s: 每秒写K字节数 avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区) 0.38次读,其数据量是52.62个扇区,因此1次读的扇区是52.62/0.38 = 138.4个扇区 同理,1次写的扇区是12.18 / 1.98 = 6.15个扇区 平均每次设备I/O操作的数据大小 = 138.4 * 读占得比重0.16 + 6.15 * 写占得比重0.84 = 27.48 iostat avgqu-sz: 平均I/O队列长度 await: 平均每次设备I/O操作的等待时间 (毫秒) svctm: 平均每次

文档评论(0)

czy2014 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档