linux性能诊断神器pstat

简介: 知道系统运行了哪些服务也许并不能告诉你是谁拖慢了系统。top命令可以报告CPU占用情况以及I/O等待时间,但这可能也不足以找出导致系统过载的任务。

为什么需要pstat?


知道系统运行了哪些服务也许并不能告诉你是谁拖慢了系统。top命令可以报告CPU占用情况以及I/O等待时间,但这可能也不足以找出导致系统过载的任务。


跟踪I/O以及上下文切换有助于揪出问题的源头。


dstat能够以固定的时间间隔显示出磁盘、网络、内存使用以及所运行任务的相关信息。


dstat实用工具可以为你指出系统潜在的瓶颈。

安装


apt-get installdstat

yum install dstat

需要依赖python2

实战与分析


CPU大部分时间都处于闲置状态,磁盘活动很少。系统产生了网络流量,不过也只是每秒钟几个分组而已。该系统并没有发生换页操作。Linux只有在主存不足的时候才会将内存页面换出到磁盘。尽管换页机制可以让系统运行比原先更多的程序,但是磁盘的访问速度要比内存慢了数千倍,由此也会相应地拖慢系统的运行速度。

参数


❏ --top-bio:用于描述磁盘使用情况,可以显示出执行块I/O最多的进程。

❏ --top-cpu:用于描述CPU使用情况,可以显示出CPU占用率最高的进程。

❏ --top-io:用于描述I/O使用情况,可以显示出执行I/O操作最多的进程(通常是网络I/O)。

❏ --top-latency:用于描述系统负载情况,可以显示出延迟最高的进程。

❏ --top-mem:用于描述内存使用情况,可以显示出占用内存最多的进程。

原理分析


有些数据库查询操作需要在内存中构建大规模的数据表,这种操作会引发间歇性的系统换页。可以修改查询语句,使用IN操作符来代替JOIN操作符,以此降低内存需求。


每一次系统调用(read writ等e)或者时间片到期,轮到另一个进程访问CPU的时候都会发生上下文切换(context switch,csw)。无论是I/O操作还是调整进程内存占用都需要执行系统调用。


目录
相关文章
|
2月前
|
Linux 应用服务中间件 PHP
性能工具之linux常见日志统计分析命令
通过本文的介绍,我相信同学们一定会发现 linux三剑客强大之处。在命令行中,它还能够接受,和执行外部的 AWK 程序文件,可以对文本信息进行非常复杂的处理,可以说“只有想不到的,没有它做不到的。
146 1
|
2月前
|
运维 监控 Linux
深入了解 Linux 常用性能统计命令
深入了解 Linux 常用性能统计命令
34 2
|
2月前
|
移动开发 运维 监控
掌握Linux运维利器:查看CPU和内存占用,轻松解决性能问题!
掌握Linux运维利器:查看CPU和内存占用,轻松解决性能问题!
150 0
|
2月前
|
缓存 监控 IDE
linux如何查看io性能
linux如何查看io性能
|
2月前
|
存储 Linux 测试技术
性能工具之15个常用的Linux文件系统命令
【2月更文挑战第8天】性能工具之15个常用的Linux文件系统命令
124 1
|
2月前
|
存储 监控 Linux
性能工具之linux三剑客awk、grep、sed详解
Linux 三剑客 awk,sed和grep 在性能领域广泛用于性能建模、性能监控及性能分析等方面,也是各大互联网公司测试岗高频面试题,中高端测试人员必备技能之一。
71 1
性能工具之linux三剑客awk、grep、sed详解
|
2月前
|
安全 Linux 开发者
⭐⭐⭐⭐⭐Linux C/C++ 进程崩溃诊断以及有效数据收集:解锁代码问题快速定位与修复的方法
⭐⭐⭐⭐⭐Linux C/C++ 进程崩溃诊断以及有效数据收集:解锁代码问题快速定位与修复的方法
181 1
|
19天前
|
弹性计算 安全 Cloud Native
Alibaba Cloud Linux镜像系统超好用!兼容CentOS生态,性能稳定性绝对可以!
Alibaba Cloud Linux是阿里云的自研Linux发行版,兼容CentOS/RHEL,提供长期免费支持。它针对云服务器ECS优化,适用于多种场景,如Web服务、云原生应用等。Alibaba Cloud Linux 3基于Anolis OS 8,提供安全、高性能、十年维护及丰富的开源生态。用户可在ECS购买时选择镜像安装,支持多架构并提供热补丁、解决方案和快速启动版。更换ECS操作系统是免费的。
86 5
|
1月前
|
数据可视化 Linux 数据库
探索 Linux 命令 `db_tuner`:优化数据库性能的利器
`db_tuner` 是一个假设的 Linux 工具,用于数据库性能优化,提供状态检查、查询分析、配置调优、索引建议及报告生成等功能。虽然不是真实命令,但类似工具如 `mysqltuner` 可实现这些功能。通过安装和运行 `db_tuner`,DBA 可以提升数据库性能,解决瓶颈问题。
|
1月前
|
算法 Linux 测试技术
Linux编程:测试-高效内存复制与随机数生成的性能
该文探讨了软件工程中的性能优化,重点关注内存复制和随机数生成。文章通过测试指出,`g_memmove`在内存复制中表现出显著优势,比简单for循环快约32倍。在随机数生成方面,`GRand`库在1000万次循环中的效率超过传统`rand()`。文中提供了测试代码和Makefile,建议在性能关键场景中使用`memcpy`、`g_memmove`以及高效的随机数生成库。