美文网首页
Linux性能分析(未完待续)

Linux性能分析(未完待续)

作者: Yves_Chen | 来源:发表于2020-05-12 23:22 被阅读0次
Linux性能.png

Linux性能

CPU

平均负载

平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均活跃进程数

可运行状态的进程,是指正在使用 CPU 或者正在等待 CPU的进程,也就是我们常用 ps 命令看到的,处于 R 状态(Running 或 Runnable)的进程。

不可中断状态的进程则是正处于内核态关键流程中的进程,并且这些流程是不可打断的,比如最常见的是等待硬件设备的 I/O 响应,也就是我们在 ps 命令中看到的 D 状态(Uninterruptible Sleep,也称为 Disk Sleep)的进程。

当平均负载比 CPU 个数还大的时候,系统已经出现了过载。

uptime

上下文切换

如果系统的上下文切换次数比较稳定,那么从数百到一万以内,都应该算是正常的。但当上下文切换次数超过一万次,或者切换次数出现数量级的增长时,就很可能已经出现了性能问题。

CPU使用率

内存

工具

stress

stress 是一个 Linux 系统压力测试工具

参数解释

-? 显示帮助信息

-v 显示版本号

-q 不显示运行信息

-n 显示已完成的指令情况

-t --timeout N 指定运行N秒后停止

       --backoff   N   等待N微妙后开始运行

-c 产生n个进程 每个进程都反复不停的计算随机数的平方根

-i 产生n个进程 每个进程反复调用sync(),sync()用于将内存上的内容写到硬盘上

-m --vm n 产生n个进程,每个进程不断调用内存分配malloc和内存释放free函数

      --vm-bytes B  指定malloc时内存的字节数 (默认256MB)



     --vm-hang N   指定在free钱的秒数

-d --hadd n 产生n个执行write和unlink函数的进程

     -hadd-bytes B  指定写的字节数



     --hadd-noclean  不unlink  

模拟一个 CPU 使用率 100% 的场景

$ stress --cpu 1 --timeout 600

模拟 I/O 压力,即不停地执行 sync

$ stress -i 1 --timeout 600

模拟是 8 个进程过载

$ stress -c 8 --timeout 600

sysbench

sysbench 可以进行以下测试:

CPU 运算性能测试

磁盘 IO 性能测试

调度程序性能测试

内存分配及传输速度测试

POSIX 线程性能测试

数据库性能测试(OLTP 基准测试,需要通过 /usr/share/sysbench/ 目录中的 Lua 脚本执行,例如 oltp_read_only.lua 脚本执行只读测试)

以 10 个线程运行 5 分钟的基准测试,模拟多线程切换的问题

$ sysbench --threads=10 --max-time=300 threads run

sysstat

  • mpstat

    一个常用的多核 CPU 性能分析工具,用来实时查看每个 CPU的性能指标,以及所有CPU的平均指标。

  • pidstat

    一个常用的进程性能分析工具,用来实时查看进程的 CPU、内存、I/O 以及上下文切换等性能指标。

每隔 1 秒输出 1 组数据(需要 Ctrl+C 才结束)

-w 参数表示输出进程切换指标,而 -u 参数则表示输出 CPU 使用指标

$ pidstat -w -u 1

每隔 1 秒输出一组数据(需要 Ctrl+C 才结束)

-wt 参数表示输出线程的上下文切换指标

$ pidstat -wt 1

  • vmstat

    分析系统的内存使用情况,也常用来分析 CPU 上下文切换和中断的次数。

每隔 1 秒输出 1 组数据(需要 Ctrl+C 才结束)

$ vmstat 1

/proc

man proc

  • /interrupts
  • /stat
  • /[pid]/stat

perf

相关文章

  • Linux性能分析(未完待续)

    Linux性能 CPU 平均负载 平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均活跃进程数 可运行...

  • Linux应用性能分析及故障排查

    本文核心内容: Linux性能分析 故障模拟和混沌工厂 故障分析和解决 一、Linux性能分析 上图、性能优化命令...

  • linux 程序性能分析工具 gprof

    linux 程序性能分析工具 gprofgprof基本原理使用方式数据分析 linux 程序性能分析工具 gpro...

  • linux比较实用的命令记录(三)

    Linux 性能分析常用工具

  • linux:性能优化

    linux的性能优化:1、CPU,MEM2、DISK--RAID3、网络相关的外设,网卡 linux系统性能分析:...

  • io性能分析工具-iostat

    linux-io性能分析 iostat (input/output statistics) 是一个linux系统监...

  • linux性能分析

    free 通过读取/proc/meminfo文件中信息,显示系统中空闲物理内存总量,已使用的内存总量,swap空间...

  • PHP高手进阶指南

    Linux常用命令 grep、awk、sed、sort、uniq、ps、df Linux系统性能分析 vmstat...

  • Android UI绘制过程与优化

    Android系统显示原理 性能分析工具 布局优化 避免过度绘制 启动优化 合理的刷新机制未完待续

  • optimize

    linux性能分析及调优__cpu 性能瓶颈调优可调性能参数 、内存性能瓶颈可调性能参数(操作系统设置swap的目...

网友评论

      本文标题:Linux性能分析(未完待续)

      本文链接:https://www.haomeiwen.com/subject/fqpwnhtx.html