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操作还是调整进程内存占用都需要执行系统调用。


相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
目录
相关文章
|
1月前
|
缓存 算法 Linux
深入理解Linux内核调度器:公平性与性能的平衡####
真知灼见 本文将带你深入了解Linux操作系统的核心组件之一——完全公平调度器(CFS),通过剖析其设计原理、工作机制以及在实际系统中的应用效果,揭示它是如何在众多进程间实现资源分配的公平性与高效性的。不同于传统的摘要概述,本文旨在通过直观且富有洞察力的视角,让读者仿佛亲身体验到CFS在复杂系统环境中游刃有余地进行任务调度的过程。 ####
51 6
|
4月前
|
缓存 监控 网络协议
掌控全局:Linux 系统性能调优技巧全面指南
掌控全局:Linux 系统性能调优技巧全面指南
|
10天前
|
运维 监控 Linux
BPF及Linux性能调试探索初探
BPF技术从最初的网络数据包过滤发展为强大的系统性能优化工具,无需修改内核代码即可实现实时监控、动态调整和精确分析。本文深入探讨BPF在Linux性能调试中的应用,介绍bpftune和BPF-tools等工具,并通过具体案例展示其优化效果。
39 14
|
16天前
|
存储 缓存 网络协议
Linux操作系统的内核优化与性能调优####
本文深入探讨了Linux操作系统内核的优化策略与性能调优方法,旨在为系统管理员和高级用户提供一套实用的指南。通过分析内核参数调整、文件系统选择、内存管理及网络配置等关键方面,本文揭示了如何有效提升Linux系统的稳定性和运行效率。不同于常规摘要仅概述内容的做法,本摘要直接指出文章的核心价值——提供具体可行的优化措施,助力读者实现系统性能的飞跃。 ####
|
28天前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
34 4
|
1月前
|
监控 网络协议 算法
Linux内核优化:提升系统性能与稳定性的策略####
本文深入探讨了Linux操作系统内核的优化策略,旨在通过一系列技术手段和最佳实践,显著提升系统的性能、响应速度及稳定性。文章首先概述了Linux内核的核心组件及其在系统中的作用,随后详细阐述了内存管理、进程调度、文件系统优化、网络栈调整及并发控制等关键领域的优化方法。通过实际案例分析,展示了这些优化措施如何有效减少延迟、提高吞吐量,并增强系统的整体健壮性。最终,文章强调了持续监控、定期更新及合理配置对于维持Linux系统长期高效运行的重要性。 ####
|
1月前
|
人工智能 安全 Linux
|
2月前
|
存储 缓存 监控
Linux中内存和性能问题
【10月更文挑战第5天】
41 4
|
2月前
|
存储 监控 固态存储
Linux中提高性能
【10月更文挑战第6天】
38 2
|
4月前
|
监控 Linux
在Linux中,如何监控磁盘I/O性能?
在Linux中,如何监控磁盘I/O性能?
下一篇
DataWorks