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

简介: 统计和分析系统性能【IO CPU 内存】的工具集合 blktrace http://www.oschina.net/p/blktrace 获取磁盘写入的信息 root@demo:~/install/percona-toolkit-2.

统计和分析系统性能【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脚本

wps99A7.tmp

和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 这个文章讲解的更详细

相关文章
|
17天前
|
Web App开发 监控 JavaScript
监控和分析 JavaScript 内存使用情况
【10月更文挑战第30天】通过使用上述的浏览器开发者工具、性能分析工具和内存泄漏检测工具,可以有效地监控和分析JavaScript内存使用情况,及时发现和解决内存泄漏、过度内存消耗等问题,从而提高JavaScript应用程序的性能和稳定性。在实际开发中,可以根据具体的需求和场景选择合适的工具和方法来进行内存监控和分析。
|
6天前
|
监控 Java Android开发
深入探讨Android系统的内存管理机制
本文将深入分析Android系统的内存管理机制,包括其内存分配、回收策略以及常见的内存泄漏问题。通过对这些方面的详细讨论,读者可以更好地理解Android系统如何高效地管理内存资源,从而提高应用程序的性能和稳定性。
35 16
|
12天前
|
开发框架 监控 .NET
【Azure App Service】部署在App Service上的.NET应用内存消耗不能超过2GB的情况分析
x64 dotnet runtime is not installed on the app service by default. Since we had the app service running in x64, it was proxying the request to a 32 bit dotnet process which was throwing an OutOfMemoryException with requests >100MB. It worked on the IaaS servers because we had the x64 runtime install
|
13天前
|
弹性计算 Kubernetes Perl
k8s 设置pod 的cpu 和内存
在 Kubernetes (k8s) 中,设置 Pod 的 CPU 和内存资源限制和请求是非常重要的,因为这有助于确保集群资源的合理分配和有效利用。你可以通过定义 Pod 的 `resources` 字段来设置这些限制。 以下是一个示例 YAML 文件,展示了如何为一个 Pod 设置 CPU 和内存资源请求(requests)和限制(limits): ```yaml apiVersion: v1 kind: Pod metadata: name: example-pod spec: containers: - name: example-container image:
|
22天前
|
Web App开发 JavaScript 前端开发
使用 Chrome 浏览器的内存分析工具来检测 JavaScript 中的内存泄漏
【10月更文挑战第25天】利用 Chrome 浏览器的内存分析工具,可以较为准确地检测 JavaScript 中的内存泄漏问题,并帮助我们找出潜在的泄漏点,以便采取相应的解决措施。
138 9
|
21天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
194 2
|
26天前
|
并行计算 算法 IDE
【灵码助力Cuda算法分析】分析共享内存的矩阵乘法优化
本文介绍了如何利用通义灵码在Visual Studio 2022中对基于CUDA的共享内存矩阵乘法优化代码进行深入分析。文章从整体程序结构入手,逐步深入到线程调度、矩阵分块、循环展开等关键细节,最后通过带入具体值的方式进一步解析复杂循环逻辑,展示了通义灵码在辅助理解和优化CUDA编程中的强大功能。
|
3月前
|
存储 编译器 C语言
【C语言篇】数据在内存中的存储(超详细)
浮点数就采⽤下⾯的规则表⽰,即指数E的真实值加上127(或1023),再将有效数字M去掉整数部分的1。
378 0
|
26天前
|
存储 C语言
数据在内存中的存储方式
本文介绍了计算机中整数和浮点数的存储方式,包括整数的原码、反码、补码,以及浮点数的IEEE754标准存储格式。同时,探讨了大小端字节序的概念及其判断方法,通过实例代码展示了这些概念的实际应用。
55 1
|
30天前
|
存储
共用体在内存中如何存储数据
共用体(Union)在内存中为所有成员分配同一段内存空间,大小等于最大成员所需的空间。这意味着所有成员共享同一块内存,但同一时间只能存储其中一个成员的数据,无法同时保存多个成员的值。