性能测试-top-实时显示系统中各个进程的资源占用状况, 也可以查看线程
1.top命令介绍
top命令是Linux系统中常用的性能分析工具,可以实时地查看系统的运行情况,比如内存、CPU、负载以及各个进程的资源占用情况
top界面主要分为两个部分,前5行展示的是系统的整体性能,光标下面部分是系统中每个进程的具体信息。光标所在处是用来输入操作命令的。
常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况
buffer 缓冲区-磁盘虚拟出来的,用来加快读的速度的空间
swap 交换分区-磁盘虚拟出来的,内存数据转移,比如内存满了,要存磁盘临时移动用的空间。
2.top命令输出结果分析
第一行:
top - 14:39:05 up 36 days, 21:26, 3 users, load average: 56.31, 55.92, 56.03
- top:名称
- 14:39:05:系统当前时间
- up 36 days, 21:26:系统以及运行的时间,和uptime命令相等
- 3 users:当前有3个用户在线
- load average: 56.31, 55.92, 56.03:系统一定时间内的平均负载,分别是1分钟、5分钟、15分钟。
主要关注load average这个值,所谓系统负载就是:在一段时间内,CPU正在处理以及等待CPU处理的进程数之和。系统在同一时间运行的进程数和系统CPU核数相关,一般来说Load Average的数值别超过这台机器的总核数,就没什么问题。
load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
如何知道我们现在系统的负载情况?
load average: 0.00, 0.01, 0.05
看第1个值 是上升趋势,还是下将
第1个值小于第二值,现在系统负载正在下降,再过一段时间可能会恢复正常。
系统负载值,不等于cpu使用率值。因为系统的负载值,它主要由两部分组成: cpu的使用率+ io使用率
历史的经验,系统负载高低,与cpu的数量有一定关系。
以后,不要说系统负载值大于cpu数量,就一定负载高。
查看当前系统cpu使用率最高的4个进程: n 4 回车
top命令默认3秒钟刷新一次数据: s\d 数字 比如 d 5,就是5秒刷新一次
我只想看某个进程下的线程资源使用情况: top -H -p pid值
us\usr、sy\sys--相同,不同写法
第二行:
Tasks: 265 total, 2 running, 263 sleeping, 0 stopped, 0 zombie
- Tasks:任务,也就是进程,切换为线程用H
- 265 total:当前总共有265个任务,也就是265个进程
- 2 running:2个进程正在运行
- 263 sleeping:263个进程正在休眠
- 0 stopped:0个停止的进程
- 0 zombie:0个僵尸进程
第三行:
%Cpu(s): 88.9 us, 7.9 sy, 0.0 ni, 1.7 id, 0.0 wa, 1.4 hi, 0.0 si, 0.0 st
- %Cpu(s):CPU使用率,所有cpu数量的一个总体使用率,按1,可以查看每个核cpu的使用情况
- 88.9 us:用户空间占用CPU的百分比(大部分进程都运行在用户态,通常都是希望用户空间CPU越高越好)
- 7.9 sy:内核空间占用CPU的百分比(Linux内核态占用的CPU时间,系统 CPU占用越高,表明系统某部分存在瓶颈。通常这个值越低越好)
- 0.0 ni:改变过优先级的进程占用CPU的百分比(ni是nice的缩写,进程用户态的优先级,如果调整过优先级,那么展示的就是调整过nice值的进程消耗掉的CPU时间,如果系统中没有进程被调整过nice值,那么ni就显示为0)
- 1.7 id:空闲CPU百分比,等待进程运行
- 0.0 wa:等待输入输出的占用CPU百分比(CPU的处理速度是很快的,磁盘IO操作是非常慢的。wa表示 CPU 在等待 IO 操作完成所花费的时间。系统不应该花费大量的时间来等待 IO 操作,否则就说明 IO 存在瓶颈)
- 1.4 hi:CPU硬中断占用CPU百分比(硬中断是硬盘、网卡等硬件设备发送给CPU的中断消息 )
- 0.0 si:CPU软中断占用CPU百分比(软中断是由程序发出的中断 )
- 0.0 st:被强制等待(involuntary wait)虚拟 CPU 的时间,此时 Hypervisor 在为另一个虚拟处理器服务。
第四行:
MiB Mem : 15508.4 total, 3858.4 free, 3369.3 used, 828.07 buff/cache
- MiB Mem:内存,切换单位按大写的E
- 15508.4 total:物理内存总量
- 3858.4 free:空闲内存量
- 3369.3 used:已使用的内存量
- 828.07 buff/cache:用作内核缓存的内存量
第五行:
MiB Swap: 4096.0 total, 3855.1 free, 240.9 used. 10823.7 avail Mem
- MiB Swap:交换内存空间(虚拟内存,当内存不足的时候,把一部分硬盘空间虚拟成内存使用,一般为内存的2倍)
- 4096.0 total:交换区总量
- 3855.1 free:空闲交换区总量
- 240.9 used:使用的交换区总量
- 10823.7 avail Mem:可用于启动一个新应用的内存(物理内存),和free不同,它计算的是可回收的page cache和memory slab
第四行和第五行输出信息,等同于使用free -m命令。
第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。
如果出于习惯去计算可用内存数,这里有个近似的计算公式:第四行的free + 第四行的buffers + 第五行的cached,按这个公式此台服务器的可用内存:18537836k +169884k +3612636k = 22GB左右。
对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
- PID:进程id 下面切单位用小写e,上面切单位用大写的E
- USER:进程所有者
- PR:进程的优先级,越小优先级越高
- NI:nice值,负值表示高优先级,正值表示低优先级
- VIRT:进程使用的虚拟内存,单位是kb
- RES:进程使用的物理内存,单位kb
- SHR:进程使用的共享内存,单位kb ---进程的内存相关数据,按小写e 可以切换单位
- S:进程状态(S表示休眠,R表示正在运行, Z表示僵死状态,N表示该进程优先值为负数,I表示空闲状态)
- %CPU:进程占用的CPU使用率
- %MEM:进程使用的物理内存和总内存的百分比
- TIME+:进程使用的CPU时间总计,单位1/100秒
- COMMAND:命令行
参考链接:
https://blog.csdn.net/m0_51627713/article/details/118091336
https://blog.csdn.net/weixin_40734030/article/details/125558689
性能测试-top-实时显示系统中各个进程的资源占用状况, 也可以查看线程的更多相关文章
- [linux]top命令详解-实时显示系统中各个进程的资源占用状况
简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按 ...
- 9.7 top:实时显示系统中各个进程的资源占用状况
top命令 用于实时地对系统处理器状态进行监控,它能够实时地显示系统中各个进程的资源占用状况.该命令可以按照CPU的使用.内存的使用和执行时间对系统任务进程进行排序显示,同时top命令还可以通过交互式 ...
- Linux 系统中僵尸进程
Linux 系统中僵尸进程和现实中僵尸(虽然我也没见过)类似,虽然已经死了,但是由于没人给它们收尸,还能四处走动.僵尸进程指的是那些虽然已经终止的进程,但仍然保留一些信息,等待其父进程为其收尸.配图源 ...
- 获取系统中所有进程&线程信息
读书笔记--[计算机病毒解密与对抗] 目录: 遍历进程&线程程序 终止进程 获取进程信息 获取进程内模块信息 获取进程命令行参数 代码运行环境:Win7 x64 VS2012 Update3 ...
- linux中使用top获取进程的资源占用信息
在linux中使用top获取进程的资源占用信息: Cpu(s): 1.0%us, 0.0%sy, 0.0%ni, 98.3%id, 0.7%wa, 0.0%hi, 0.0%si, 0.0 ...
- 让Win10显示系统中隐藏的文件夹
让Win10显示系统中隐藏的文件夹.. ------------------------- -----------------------
- Unix/Linux系统中僵尸进程是如何产生的?有什么危害?如何避免?
如题 Unix/Linux系统中僵尸进程是如何产生的?有什么危害?如何避免? 一个进程在调用exit命令结束自己的生命的时候,其实他并没有真正的被销毁,而是留下一个称为僵尸进程(Zombie)的数据结 ...
- free - 显示系统中已用和未用的内存空间总和.
总览 (SYNOPSIS) free [-b | -k | -m] [-o] [-s delay ] [-t] [-V] 描述 (DESCRIPTION) free 显示 系统中 已用和未用的 物理内 ...
- Linux中显示系统中USB信息的lsusb命令
来源:Linux中国 原文:https://linux.cn/article-2448-1.html 通用串行总线(USB)被设计成为连接计算机外设的标准,如键盘.鼠标.打印机.数码相机.便携式媒体 ...
- Qt 实时显示系统时间
前言 我们用一个label控件来实时显示系统时间,用到 QTimer 和 QDateTime 这个两个类. 正题 头文件: #ifndef MAINWINDOW_H #define MAINWINDO ...
随机推荐
- P9_组件-swiper和swiper-item的基本用法
swiper 和 swiper-item 组件的基本使用 实现如图的轮播图效果: swiper 组件的常用属性 list.wxml <swiper class="swiper-cont ...
- Maven依赖冲突解决总结
转载请注明出处: 1.Jar包冲突的通常表现 Jar包冲突往往是很诡异的事情,也很难排查,但也会有一些共性的表现. 抛出java.lang.ClassNotFoundException:典型异常,主要 ...
- 视觉十四讲:第七讲_2D-2D:对极几何估计姿态
1.对极几何 从2张图片中,得到若干个配对好的2d特征点,就可以运用对极几何来恢复出两帧之间的运动. 设P的空间坐标为: \(P=[X,Y,Z]^{T}\) 两个像素点\(p_{1},p_{2}\)的 ...
- ubuntu 备份系统
1.安装Systemback: sudo add-apt-repository ppa:nemh/systemback sudo apt-get update sudo apt-get install ...
- 简要介绍WASAPI播放音频的方法
正文 填一下之前挖的坑,这回就说说怎么用WASAPI播放声音吧. 本文完整代码可以在以下链接找到 https://gitcode.net/PeaZomboss/learnaudios 目录是demo/ ...
- playwright结合pytest使用案例
playwright简介 不愧是宇宙最强,它也是目前为止对ui自动化领域里最好的一个库,在selenium之上,还有对应的异步机制,其他见百度不便在此详叙. 本篇经典案例是对我司的veer产品做ui自 ...
- LG P2633 Count on a tree
\(\text{Solution}\) 树上主席树板子 \(\text{Code}\) #include <cstdio> #include <algorithm> #defi ...
- 【USACO 2021 US Open, Gold】Permutation
\(\text{Solution}\) 发现每个时刻的状态一定是所有点在一个最外围三角形的内部 设 \(f_{i,j,k,p}\) 表示排列填到第 \(p\) 位,此时图形最外围的三角形是以编号为 \ ...
- PHP封装自定义函数function
最近一直在看PHP教程,毕竟懂点PHP语言还是不错的选择,起初是准备制作一个三文件夹内关键词组合长尾关键词,然后用PHP做一个全站的动态聚合页面的一个PHP插件,不负有心人啊!已写好,稍晚整理会在资源 ...
- Linux:find 指令的选项 +n、-n、n
描述 find 指令查找文件时可以通过时间来锁定或缩小搜查范围.其中需要利用到文件的三个时间?:Access Time(atime).Modify Time(mtime) 和 Change Time( ...