dstat

Linux性能优化(十)——CPU性能分析工具

空扰寡人 提交于 2021-01-18 10:25:20
一、CPU性能指标 1、CPU使用率 CPU使用率是最常见的一个性能指标,描述了非空闲时间占总CPU 时间的百分比,根据CPU上运行任务的不同,分为用户CPU、系统CPU、等待IO CPU、软中断和硬中断等。 用户CPU使用率包括用户态CPU使用率(user)和低优先级用户态CPU使用率(nice),表示CPU在用户态运行的时间百分比。用户CPU使用率高,通常说明有应用程序比较繁忙。 系统CPU使用率,表示CPU在内核态运行的时间百分比(不包括中断)。系统CPU使用率高,说明内核比较繁忙。 等待IO的CPU使用率,即iowait,表示等待IO的时间百分比。iowait 高,通常说明系统与硬件设备的IO交互时间比较长。 软中断和硬中断的CPU使用率,分别表示内核调用软中断处理程序、硬中断处理程序的时间百分比。中断CPU使用率高,通常说明系统发生大量的中断。 窃取CPU使用率(steal)和客户CPU使用率(guest),分别表示被其它虚拟机占用的CPU时间百分比,和运行客户虚拟机的CPU 时间百分比。 2、CPU平均负载 CPU平均负载是系统的平均活跃进程数,反应了系统的整体负载情况,主要包括三个数值,分别指过去1分钟、过去5分钟和过去15分钟的平均负载。理想情况下,平均负载等于逻辑CPU个数,表示每个CPU都恰好被充分利用。如果平均负载大于逻辑CPU个数,表示负载比较重。 3

Linux 优化 | 我终于要对运维小哥下手了(文末有奖)

冷暖自知 提交于 2021-01-03 08:47:23
我终于要对运维小哥下手了 当我再次收到运维小哥的警告的时候,我醒悟了。 你以为我又要去写 Bug ? 是的,这就是被运维恐吓的日常,在这个男人面前我就是个弟弟。 Bug 写的多了,总免不了要收到两条这样那样的小告警,所以我决定还是自己学一些 Linux 优化的小知识,做到先发致人。 如何做到硬刚运维小哥 之前学习 Linux 命令的时候有学到 man 的使用,还有它的进阶版本 info 他可以更详细的查询命令手册 所以我们掌握了它们之后就可以完成从无处下手到有迹可循的蜕变。 先从下面这张图开始搞起。 是不是有点懵逼,没关系我也是。 我们简单分析一下,我们代码在系统上跑,最大的就是 CPU,内存,网络和磁盘I/O这四大部分。 我们只要掌握几个常用的简单的命令知道这四个部分是不是有问题就好了。 CPU CPU 最关键的就两个部分,系统的 CPU 使用率还有就是进程的使用率。 CPU 使用率 先看看 CPU 使用率我们常用的是 top , 效果是下面这样的,简单明了。 us:表示用户空间程序的cpu使用率 sy:表示系统空间的cpu使用率,主要是内核程序。 ni:表示用户空间且通过nice调度过的程序的cpu使用率。 id:空闲cpu wa:cpu运行时在等待io的时间 hi:cpu处理硬中断的数量 si:cpu处理软中断的数量 st:被虚拟机偷走的cpu 这里再推荐另一个小工具

linux进程管理杂记(2)

廉价感情. 提交于 2020-12-31 09:49:29
命令 vmstat vmstat [root@zz Packages]# vmstat procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 56 15876 38204 295152 0 0 4 3 21 18 0 1 99 0 0 每隔一秒刷新一次 [root@zz Packages]# vmstat 1 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 56 15876 38244 295156 0 0 4 3 21 18 0 1 99 0 0 0 0 56 15876 38244 295156 0 0 0 0 19 18 0 0 100 0 0 每隔一秒刷新一次,刷5次 [root@zz Packages]# vmstat 1 5 procs -----------memory---------- ---swap-

每天一个Linux 命令—— nc 命令

假装没事ソ 提交于 2020-12-21 17:45:24
1.命令简介 nc(netcat)是一个短小精悍、功能实用、简单可靠的网络工具,主要有如下作用: (1)端口侦听,nc 可以作为 server 以 TCP 或 UDP 方式侦听指定端口; (2)端口扫描,nc 可以作为 client 发起 TCP 或 UDP 请求; (3)机器之间传输文件; (4)机器之间网络测速。 nc 实际上是 ncat 的软链接。ncat 是为 Nmap 项目编写的,是 Nmap 套件中的一员,它旨在成为可靠的后端工具,可立即为其他应用程序和用户提供网络连接。ncat 不仅可以使用 IPv4 和 IPv6,还可以为用户提供几乎无限的潜在用途。 Nmap 是 2.命令格式 ` nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port] [-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_protocol] [-x proxy_address[:port] ] [hostname] [port[s] ]` 3.选项说明 `-4/6 强制只使用 IPv4/IPv6 地址 -D 在套接字上启用调试 -d 不从 stdin 读取 -h 打印出帮助信息 -k 强制 nc 在当前连接完成后继续侦听另一个连接。注意如果不使用 -l 选项,则使用此选项是错误的 -l 指定

机器之间的性能差距

自闭症网瘾萝莉.ら 提交于 2020-08-14 01:45:50
186 VS 2.8 (1) 读写差距 差距十倍以上。 [root@localhost dualven]# dstat You did not select any stats, using -cdngy by default. ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system-- usr sys idl wai hiq siq| read writ| recv send| in out | int csw 12 1 59 28 0 0|1242k 4486k| 0 0 |8212B 14k|2837 3803 5 1 44 50 0 0|5216k 4662k| 552k 550k| 0 0 |3906 5250 5 2 40 53 0 0| 7120k 4319k | 584k 599k| 0 0 |4488 6228 5 1 41 53 0 0|5008k 1184k| 396k 393k| 0 0 |3436 6094 6 1 49 44 0 0|5728k 4188k|2335B 1467B| 0 0 |2603 5085 7 1 45 47 0 0|5092k 5960k| 14k 2463B| 0 0 |3027 5502 3 1 47 48 0 0|3312k 4124k

【Linux】iowait使用率高与僵尸进程多分析方法

感情迁移 提交于 2020-08-11 15:52:53
WEL测试:这是什么?我想看看,看了会不会中毒呀?有点害怕 iowaite升高分析流程: 1、使用 top 查看系统性能指标,发现 iowait %数值异常,查看状态为 D 的进程。 2、使用 dstat 观察 CPU 和 I/O 的使用情况, 每当 iowait 升高(wai)时,磁盘的读请求(read)都会很大 。 3、通过 pidstat -d -p pid 观察当前进程的 KB_rb、kb_wr 指标情况,如果对应进程这两个指标为0,可以换成当前命令: pidstat -d 1 10 观测当前系统所有进程,找到进行磁盘读写的进程ID,执行第三步操作。 4、通过 strace -p PID 命令查看对应进程的父进程,如果对应进程不存在,可以使用 perf record -g 命令录制当前系统监测数据 5、执行**perf report **进行数据分析,找到出去内核进程外的其他进程,查看其系统调用问题。 僵尸进程分析流程: 1、使用top 查看系统性能指标,查看状态为 Z 的进程,获取进程的PID 2、执行命令 pstree -aps PID 获取该进程的父进程,找到对应应用程序。 3、查看 app 应用程序的代码,看看子进程结束的处理是否正确,比如有没有调用 wait() 或 waitpid() ,或是有没有注册 SIGCHLD 信号的处理函数。 来源: oschina

查看CPU内存和系统版本

人盡茶涼 提交于 2020-08-08 07:06:32
1.查看cpu基本硬件信息:cat /proc/cpuinfo 2.查看cpu使用状态信息:top&dstat 3.查看内存信息:cat/proc/meminfo 4.查看内存运行空间信息:free free -k:单位以KB进行显示 free -m:单位以MB进行显示 free -g:单位以GB进行显示 5.查看Linux系统版本:uname -a 来源: oschina 链接: https://my.oschina.net/u/4356644/blog/4313391

进程监控类命令

喜欢而已 提交于 2020-07-24 09:15:50
进程监控类命令 本篇全是命令介绍 , 笔者把各个命令的都实验一遍 , 给同学们看看 . 一. PSTREE 命令 pstree - display a tree of processes 选项 :   -p 显示进程的 PID   -T 隐藏线程信息   -u 显示切换过程   -H PID 高亮显示指定 PID 进程的父进程 示例 : 二. PS 命令 ps - report a snapshot of the current processes. 选项 : PS 有三种风格的选项写法 :   BSD 风格写法 ps aux   UNIX 风格写法 ps -ef   GNU 风格写法 ps --pid PID BSD 风格选项 :   a 显示所有与终端有关的进程   x 显示所有与终端无关的进程   u 显示进程所有者相关的信息   f 命令列把相关的进程显示成进程树   k 对属性进行排序 , 属性前加上 - 表示倒序   o 选择显示的字段 pid cmd psr ni(nice) pri rtprio tid class %cpu %mem user ruser euser 等等   euser 表示显示有效用户字段   ruser 表示显示真是用户字段   psr 表示显示 CPU 与进程的绑定关系   pcpu CPU 的利用率   ppid 父进程的 PID  

性能测试三十一:监控之工具监控

╄→гoц情女王★ 提交于 2020-05-08 08:32:19
一、综合性的监控工具:vmstat vmstat命令综合了CPU、进程、内存、磁盘IO等信息,后面一般跟一个数字,代表多长时间刷新一次(秒) 命令:vmstat 1 swap: si:SwapInput,从内存往磁盘(swap空间)写数据 so:SwapOutput,内存从磁盘(swap空间)读数据 二、超级监控工具:dstat dstat是一个全能监控工具,整合了CPU、内存、磁盘、网络等几乎所有的监控项,支持实时刷新 dstat需要先进行自动下载安装:yum install -y dstat dstat:默认一秒钟刷新一次 使用命令:dstat -tcdlmnsygr --disk-util --disk-util:磁盘 先查看一下帮助文档:dstat -h 执行:dstat -tcdlmnsygr --disk-util 三、支持数据存储的监控工具-nmon nmon是IBM公司开发的Linux性能监控工具,可以实时展示系统性能情况,也可以将监控数据写入文件中,并使用nmon分析器做数据展示 把文件上传到需要监控的机器上 加权限 运行 想看什么指标就按对应的按键 如,按c,看cpu c、n、d Nmon文件需要关注的标签页 1、cpu_all 2、diskbusy 3、net 4、mem 命令:./nmon -ft -s 5 -c 120 -s:秒 5:5秒统计一次 -c

linux 进程管理和内存分配

自闭症网瘾萝莉.ら 提交于 2020-05-04 11:45:25
1、进程相关概念    进程: 正在运行中的程序   内核功用: 进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能等   Process: 运行中的程序的一个副本,是被载入内存的一个指令集合      进程 ID(Process ID,PID)号码被用来标记各个进程     通常从执行进程的用户来继承,存在生命周期    task struct 任务结构表: Linux 内核存储进程信息的数据结构格式    task list 任务列表: 多个任务的 task struct 组成的链表    进程创建:     都由其父进程创建,父好关系,CoW(写时复制,不发生改变时父子都指向同一文件;发生改变时,则复制)     init: 第一个进程(centos6:init,centos7:systemd)      守护进程: 随着计算机的开启、关闭而随之开启、关闭。 2、进程,线程和协程:       注: 一个进程里至少有一个线程;线程之间由操作系统进行调度,包括进程中使用的资源也由操作系统进行调度;协程相当于线程中的语句块,由线程控制。 3、Page Frame: 页框,用存储页面数据,存储 Page,每个进程要使用的分配空间    虚拟内存(线性内存): 进程运行的时候以为自己拥有了全部的内存空间    物理地址空间和线性地址空间:      MMU: