统计和分析系统性能【IO CPU 内存】的工具集合

blktrace

http://www.oschina.net/p/blktrace

获取磁盘写入的信息

root@demo:~/install/percona-toolkit-2.2.1# debugfs -R 'stats' /dev/sda1

debugfs 1.41.11 (14-Mar-2010)

debugfs -R 'stats' /dev/sda1|grep Block

debugfs 1.41.11 (14-Mar-2010)

Block count:              5012992

Block size:               4096

Blocks per group:         32768

Mount -t debugfs none /sys/kernel/debug

dd if=/dev/zero of=/root/a.s bs=1024 count=1000

./blktrace -d /dev/sda -o - | ./blkparse -i -

8,0    0     1070    71.884893141  6075  M   W 575360 + 8 [dd]

8,0    0     1071    71.884894103  6075  A   W 575368 + 8 <- (8,1) 573320

8,0    0     1072    71.884894272  6075  Q   W 575368 + 8 [dd]

8,0    0     1073    71.884894481  6075  M   W 575368 + 8 [dd]

8,0    0     1074    71.884895481  6075  A   W 575376 + 8 <- (8,1) 573328

8,0    0     1075    71.884895621  6075  Q   W 575376 + 8 [dd]

8,0    0     1076    71.884895830  6075  M   W 575376 + 8 [dd]

root@demo:~/install/blktrace# debugfs -R "icheck `echo 573320/8|bc`" /dev/sda1

debugfs 1.41.11 (14-Mar-2010)

Block Inode number

71665 937613

root@demo:~/install/blktrace#

root@demo:~/install/blktrace# debugfs -R "ncheck 937613" /dev/sda1

debugfs 1.41.11 (14-Mar-2010)

Inode Pathname

937613 /root/a.s

此时通过lsof可以查到是谁在写/root/a.s

iotop

http://www.oschina.net/p/iotop

./iotop.py -p ##

这个工具是python脚本

和top的使用有些类似

strace ltrace

http://sourceforge.net/projects/strace/

http://ltrace.alioth.debian.org/

统计、跟踪程序使用库函数、系统函数

Ø 执行跟踪执行某个文件

n strace prog

n ltrace prog

Ø 已经执行的文件跟踪

n strace -p pid

n ltrace -p pid

n 这种情况有pthread的程序,附加会出现问题SIG_TRAP

Percona toolkit

https://www.percona.com/downloads/percona-toolkit/

http://blog.chinaunix.net/uid-20639775-id-3206802.html
percona-toolkit工具包的使用教程之开发工具类使用
http://blog.chinaunix.net/uid-20639775-id-3207926.html
percona-toolkit工具包的使用教程之性能类工具
http://blog.chinaunix.net/uid-20639775-id-3210834.html
percona-toolkit工具包的使用教程之配置类工具
http://blog.chinaunix.net/uid-20639775-id-3210843.html
percona-toolkit工具包的使用教程之监控类工具使用
http://blog.chinaunix.net/uid-20639775-id-3215742.html
percona-toolkit工具包的使用教程之复制类工具
http://blog.chinaunix.net/uid-20639775-id-3229211.html
percona-toolkit工具包的使用教程之系统类工具
http://blog.chinaunix.net/uid-20639775-id-3236839.html
percona-toolkit工具包的使用教程之实用类工具
http://blog.chinaunix.net/uid-20639775-id-3236864.html

Ø pt-diskstats

An interactive I/O monitoring tool for GNU/Linux.

Ø pt-ioprofile

Watch process IO and print a table of file and I/O activity.

pt-ioprofile --profile-pid=### --cell=sizes

Ø pt-summary

Summarize system information nicely.

sysstat

http://pagesperso-orange.fr/sebastien.godard/

./iostat -x 2

Report Central Processing Unit (CPU) statistics and input/output

statistics for devices and partitions.

#CPU

# ?秒  ?次

./pidstat -u 2 &> cpu.txt &

#内存

./pidstat -r 10 &> mem.txt &

#磁盘

./pidstat -d 2  &> io.txt &

#

./iostat -x 2 &> iostat.txt &

#

./mpstat -P ALL 2 &> mpstat.txt &

#

sudo mkdir /var/log/sa -p

sudo chmod 777 /var/log/sa

sudo cp sad* /sbin/.

./sar -u 2 &> sacpu.txt &

./sar -b 2 &> saio.txt &

#创建的线程数

#./sar -c 2 &> sathread.txt &

#进程队列和平均负载统计信息

./sar -q 2 &> saproc.txt &

#内存和交换空间

./sar -r 10 &> samem.txt &

如上的例子就是采样信息写入到文件中

top/htop

http://sourceforge.net/projects/htop/

htop 是一个 Linux 下的交互式的进程浏览器,可以用来替换Linux下的top命令。

内存

Linux系统没运行多少程序,显示的可用内存这么少?其实Linux与Win的内存管理不同,会尽量缓存内存以提高读写性能,通常叫做Cache Memory

http://www.ha97.com/4337.html

http://blog.csdn.net/heizistudio/article/details/25125061 这个文章讲解的更详细

统计和分析系统性能【IO CPU 内存】的工具集合的更多相关文章

  1. python之psutil模块(获取系统性能信息(CPU,内存,磁盘,网络)

    一.psutil模块 1. psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等) ...

  2. VPS性能测试:CPU内存,硬盘IO读写,带宽速度,UnixBench和压力测试

    现在便宜的VPS主机越来越多了,一些美国的VPS主机甚至给出1美元一月的VPS,堪比虚拟主机还要便宜,巨大的价格优势吸引不少人购买和使用,而近些年来国内的主机商也开始意识到便宜的VPS对草根站长的诱惑 ...

  3. 通过 thread dump 分析找到高CPU耗用与内存溢出的Java代码

    http://heylinux.com/archives/1085.html通过 thread dump 分析找到高CPU耗用与内存溢出的Java代码 首先,要感谢我的好朋友 钊花 的经验分享. 相信 ...

  4. Intel X86 32位CPU内存管理----《Linux内核源码情景分析》笔记(一)

    Intel X86 32位CPU内存管理 在X86系列中,8086和8088是16为处理器,而从80386开始为32为处理器,80286则是该系列从8088到80386,也就是16位处理器到32位处理 ...

  5. 性能测试分析过程(三)linux下查看最消耗CPU/内存的进程

    linux下查看最消耗CPU  内存的进程 1.CPU占用最多的前10个进程:  ps auxw|head -1;ps auxw|sort -rn -k3|head -10  2.内存消耗最多的前10 ...

  6. linux使用nmon监控、分析系统性能

    linux使用nmon监控.分析系统性能   一.概述 nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,相对于其它一些系统资源监控工具来说,nmon所记录的信息是比较全面的, ...

  7. Linux性能分析——分析系统性能相关的命令

    Linux性能分析——分析系统性能相关的命令 摘要:本文主要学习了Linux系统中分析性能相关的命令. ps命令 ps命令用来显示系统中进程的运行情况,显示的是当前系统的快照. 基本语法 ps [选项 ...

  8. Linux驱动开发常用调试工具---之内存读写工具devmem和devkmem【转】

    转自:https://blog.csdn.net/gatieme/article/details/50964903 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原 ...

  9. Windows 性能监视器的基本指标(CPU,内存,硬盘参数)

    转载:http://kms.lenovots.com/kb/article.php?id=7045 Windows 性能监视器的基本指标(CPU,内存,硬盘参数) 作为一个系统工程师来说,要看懂监控的 ...

随机推荐

  1. 实战MEF(2):导出&导入

    上一文中,我们大致明白了,利用MEF框架实现自动扫描并组装扩展组件的思路.本文我们继续前进,从最初的定义公共接口开始,一步步学会如何使用MEF. 在上一文中我们知道,对于每一个实现了公共规范的扩展组件 ...

  2. 移动web app开发必备 - 异步队列 Deferred

    背景 移动web app开发,异步代码是时常的事,比如有常见的异步操作: Ajax(XMLHttpRequest) Image Tag,Script Tag,iframe(原理类似) setTimeo ...

  3. Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用

    转载博客:http://blog.csdn.net/xiaanming/article/details/26810303 大家好!差不多两个来月没有写文章了,前段时间也是在忙换工作的事,准备笔试面试什 ...

  4. Restore Volume 操作 - 每天5分钟玩转 OpenStack(60)

    前面我们 backup 了 voluem,今天我们将讨论如何 restore volume. restore 的过程其实很简单,两步走: 在存储节点上创建一个空白 volume. 将 backup 的 ...

  5. r.js结合gulp等于webpack(angular为例)

    本人大学时玩dojo,开始了AMD模块化的不归路,工作后一直使用requirejs,感觉非常好.但是,近来随着react的火热,webpack成为了天下无敌的模块化工具,能做模块化,合并压缩,监视等, ...

  6. Oracle监控用户索引使用情况,删除无用索引

    监控当前业务用户索引 一段时间后查询从未被使用的索引,删除无用索引 停止监控索引 1. 监控当前用户所有索引 得到监控所有索引的语句: select 'alter index ' || index_n ...

  7. T-SQL简单查询语句

    简单查询: 1.最简单查询(查所有数据)select * from 表名: 注:* 代表所有列select * from info 2.查询指定列select code,name from info ...

  8. Android测试提升效率批处理脚本(二)

    前言: 前面放出过一次批处理,本次再放出一些比较有用的批处理(获得当前包名.查看APP签名信息等),好长时没来写博客了,简单化,请看正文,更多脚本尽请期待~~~(不定期) 目录 1.[手机录屏(安卓4 ...

  9. 编写高质量代码:改善Java程序的151个建议(第2章:基本类型___建议26~30)

    建议26:提防包装类型的null值 我们知道Java引入包装类型(Wrapper Types)是为了解决基本类型的实例化问题,以便让一个基本类型也能参与到面向对象的编程世界中.而在Java5中泛型更是 ...

  10. 图片上传插件ImgUploadJS:用HTML5 File API 实现截图粘贴上传、拖拽上传

    一 . 背景及效果 当前互联网上传文件最多的就是图片文件了,但是传统web图片的截图上传需要:截图保存->选择路径->保存后再点击上传->选择路径->上传->插入. 图片 ...