linux分析工具之top命令详解 linux&shell学习系列

     Linux系统可以通过top命令查看系统的CPU、内存、运行时间、交换分区、执行的线程等信息。通过top命令可以有效的发现系统的缺陷出在哪里。是内存不够、CPU处理能力不够、IO读写过高。

一、top选项

使用语法:top -hv | -abcHimMsS -d delay -n iterations -p pid [,pid ...]

-a:根据使用的内存排序
-d:number代表秒数,表示top命令显示的页面更新一次的间隔。默认是5秒。 
-b:以批次的方式执行top。 
-n:与-b配合使用,表示需要进行几次top命令的输出结果。 
-p:指定特定的pid进程号进行观察。
-c:显示完整的治命令;
-I:忽略失效过程;
-s:保密模式;
-S:累积模式;
-i<时间>:设置间隔时间;
-u<用户名>:指定用户名

 

二、top命令页面详解

直接输入top命令得到如下结果,如图所示:

2.1、系统时间相关

依次显示了系统当前时间 、系统到目前为止已运行的时间、当前登录系统的用户数量

 

 

 

2.2、平均负载

系统负载(任务队列的平均长度)三个值分别为1分钟、5分钟、15分钟前到现在的平均值(根据cpu数量去判断。如果平均负载始终在1.2一下,而你有2颗cup的机器。那么基本不会出现cpu不够用的情况。也就是Load平均要小于Cpu的数量,一般性负载超过cpu的个数的5倍则表示已经超负载了)

 

 

 2.3、进程相关参数

Tasks: 288 total(总进程数),   2 running(运行中的进程数),286 sleeping(挂起的进程数),   0 stopped(停止的进程数),   0 zombie(僵尸进程数)

 

 

 2.4、cpu相关参数

Cpu(s): 32.0%us(用户使用cpu占比),  2.0%sy(系统使用cpu占比),  0.0%ni(用户空间内改变过优先级的进程占用CPU百分比),65.3%id(空闲cpu占比),  0.1%wa(等待输入输出CPU时间百分比),  0.1%hi(CPU服务于硬件中断所耗费的时间总额),  0.5%si(CPU服务软中断所耗费的时间总额),  0.0%st(Steal Time)

 

 

 2.5、内存相关参数

Mem:  16466536k total(物理内存总量),  7943976k used(已使用的物理内存),  8522560k free(剩余的物理内存),   404760k buffers(缓冲区内存)

 

 

 2.6、交换分区相关参数

Swap:  4194300k total(交换分区总量),        0k used(已使用交换分区),  4194300k free(交换分区剩余量),  2228400k cached(缓冲的交换分区总量)

 

 

 2.7、具体进程相关参数

PID(进程PID) 
USER(进程所有者)      
PR(优先级)  
NI(nice值,负值表示高优先级,正值表示低优先级)  
VIRT(进程使用的虚拟内存总量,VIRT=SWAP+RES)  
RES(进程使用的、未被换出的物理内存大小)  
SHR(共享内存大小) 
S(进程状态,D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程) 
%CPU(上次更新到现在的CPU时间占用百分比) 
%MEM(进程使用的物理内存百分比)    
TIME+(进程使用CPU总时间)  
COMMAND(命令名、命令行)

 

 

 其他未显示的描述:

PPID    #父进程id
UID     #进程所有者的用户id
USER    #进程所有者的用户名
GROUP   #进程所有者的组名
TTY     #启动进程的终端名。不是从终端启动的进程则显示为 ?
P       #最后使用的CPU,仅在多CPU环境下有意义
TIME    #进程使用的CPU时间总计,单位秒
SWAP    #进程使用的虚拟内存中,被换出的大小,单位kb
CODE    #可执行代码占用的物理内存大小,单位kb
DATA    #可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
nFLT    #页面错误次数
nDRT    #最后一次写入到现在,被修改过的页面数。
WCHAN   #若该进程在睡眠,则显示睡眠中的系统函数名
Flags   #任务标志

 

三、top命令交互详解

当我们使用top之后,可以直接输入h或者?查看交换命令的帮助:

Help for Interactive Commands - procps version 3.2.8
Window 1:Def: Cumulative mode Off.  System: Delay 3.0 secs; Secure mode Off.

  Z,B       Global: 'Z' change color mappings; B' disable/enable bold  #Z改变颜色,B加粗
  l,t,m     Toggle Summaries: l' load avg; t' task/cpu stats; m' mem info #t:显示和隐藏任务/cpu信息;m:显示和隐藏内存信息;l显示和隐藏平均负载信息
  1,I       Toggle SMP view: 1' single/separate states; I' Irix/Solaris mode #1:监控每个逻辑CPU的状况
  #f:进入字段显示配置模式,可增加或者移除显示字段,按相应的字母新增或去除;输入相应的字母,按enter确认
#o:进入字段顺序设置模式,可配置显示位置顺序,按相应的字母往下移动,按“shift+相应的字母”往上移动 f,o . Fields
/Columns: f' add or remove; o change display order F or O . Select sort field #F进入字段排序配置模式,可设置排序的字段 ; O设置默认的排序字段 <,> . Move sort field: <' next col left; > next col right R,H . Toggle: R' normal/reverse sort; H show threads #R设置排序为正序、反序 c,i,S . Toggle: c' cmd name/line; i' idle tasks; S cumulative time #i只显示正在运行的进程;c:切换显示命令名称和完整命令行 x,y . Toggle highlights: x' sort field; y running tasks z,b . Toggle: z' color/mono; b' bold/reverse (only if ' or ) u . Show specific user only #输入用户,显示用户的任务 n or # . Set maximum tasks displayed k,r Manipulate tasks: k' kill; r renice d or s Set update interval #s设置刷新的时间--------常用 W Write configuration file q Quit ( commands shown with . require a visible task display window ) Press h?' for help with Windows,any other key to continue

M:根据驻留内存大小进行排序。-------------常用

P:根据CPU使用百分比大小进行排序。-----------常用

交互实践:

使用1,查看每个cpu的情况

 

 

 使用f命令调出Flags列:f命令交互,然后输入z,enter确认就好

 

 

 

 

 

 然后使用M,更具内存排序(降序)

 

 

 

    top命令默认值显示前面一部分的进程,若是想要查看全部的进程信息,则需要使用命令:top -ab -n 1,在这个命令中,a表示按内存倒序排列,b表示将所有列输出,n表示只执行一次

 

 更多linux文章请见:linux&shell学习系列

 

参考:

https://www.cnblogs.com/fuqu/p/10230385.html#_label2

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


文章浏览阅读1.8k次,点赞63次,收藏54次。Linux下的目录权限!!!粘滞位!!!超详解!!!
文章浏览阅读1.6k次,点赞44次,收藏38次。关于Qt的安装、Windows、Linux、MacBook_mack book 安装qt
本文介绍了使用shell脚本编写一个 Hello
文章浏览阅读1.5k次,点赞37次,收藏43次。【Linux】初识Linux——了解操作系统的发展历史以及初次体验Linux编程环境
文章浏览阅读3k次,点赞34次,收藏156次。Linux超详细笔记,个人学习时很认真的记录的,觉得好的麻烦点个赞。
文章浏览阅读6.8k次,点赞109次,收藏114次。【Linux】 OpenSSH_9.3p1 升级到 OpenSSH_9.5p1(亲测无问题,建议收藏)_openssh_9.5p1
文章浏览阅读3.5k次,点赞93次,收藏78次。初识Linux中的线程,理解线程的各种概念,理解进程地址空间中的页表转换,介绍pthread线程库并理解线程库!
文章浏览阅读863次。出现此问题为Linux文件权限问题,解决方案为回到引擎目录执行命令。输入用户密码后运行./UnrealEditor。_increasing per-process limit of core file size to infinity.
文章浏览阅读2.9k次。使用文本编辑器:打开CSV文件,并使用文本编辑器(如Notepad++、Sublime Text、Visual Studio Code等)来查看文件的字符编码格式。通常在编辑器的底部状态栏或设置中可以找到当前编码的显示。请注意,上述方法并非绝对准确,特别是当文件没有明确的编码标识时。因此,如果你发现CSV文件在不同的工具或方法中显示不同的编码格式,可能需要进行进一步的分析和判断,或者尝试使用不同的编码转换方法。该命令将输出文件的MIME类型和编码信息。使用命令行工具:在命令行中,你可以使用。_shell读取csv文件逐行处理
本文介绍了如何在Linux系统中升级gcc版本,以便更好地支持C++11及以上版本的新特性。通过升级gcc,可以提升编译器的功能和性能,获得更好的开发体验。详细的步骤和方法请参考原文链接。
文章浏览阅读4.4k次,点赞6次,收藏19次。Mosquitto是一个开源的MQTT消息代理服务器。MQTT是一个轻量级的、基于发布/订阅模式的消息传输协议。 mosquitto的安装使用比较简单,可以方便的来进行一些测试。_linux mosquitto
文章浏览阅读7.2k次,点赞2次,收藏12次。Linux中,用于根目录下有一个.ssh目录,保存了ssh相关的key和一些记录文件。_~/.ssh/
文章浏览阅读4.5k次,点赞5次,收藏18次。首先需要安装 snmp ,使用下面的命令进行安装安装完毕之后,使用下面的命令查看是否安装成功当命令行显示如图即为安装成功。_snmp工具
文章浏览阅读3.5k次,点赞7次,收藏24次。本地部署和使用llama.cpp进行量化Llama2,linux和Windows平台方案,支持CPU和GPU多版本。_llama cpp gpu
文章浏览阅读1.4k次,点赞46次,收藏44次。在vim中,最为常见的有三种模式,分别是:命令模式(command mode)、插 入模式(Insert mode)和底行模式(last line mode)文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。在命令模式下,shift+: 即可进入该模 式。在进入vim后,使用 i 进入插入模式,插入模式就是vim的编辑模式,可以在vim中进行内容的编辑和修改。vim的核心模式,使用vim进入文件编辑时的最初模式,在该模式中只能移动光标和使用命令对文件内容进行编辑。
Linux常用命令大全,包括目录操作命令和文件操作命令,以及查看登录用户命令和文件内容查看命令等。
文章浏览阅读1.7k次,点赞57次,收藏50次。Yearning 简单, 高效的MYSQL 审计平台 一款MYSQL SQL语句/查询审计工具,为DBA与开发人员使用.本地部署,注重隐私,简单高效的MYSQL审计平台。下面介绍Linux 简单部署Yearning 并结合cpolar 内网穿透工具实现远程访问,破除访问限制,提高工作效率!!
文章浏览阅读1.9w次,点赞7次,收藏18次。Microsoft Edge是一款现代化的浏览器,它拥有众多功能和强大的性能,为用户带来更加流畅的浏览体验。Edge最近推出了分屏功能,支持一个窗口同时显示两个选项卡,这可以大大提高生产力和多任务处理能力。欢迎大家使用分屏及其他新功能后分享自己的使用心得与建议。首先,使用Microsoft Edge的分屏功能确实能够提高生产力,尤其是在需要同时浏览两个不同网页的情况下。分屏功能使得在一个窗口中同时显示两个选项卡,用户可以在两个网页之间快速切换,而无需打开新的窗口或使用多个浏览器窗口。_edge linux
文章浏览阅读1.8k次,点赞83次,收藏71次。C语言实现倒计时和进度条并进行演示。_linux不换行输出倒计时
文章浏览阅读1.5k次,点赞28次,收藏25次。基于嘉立创泰山派开发板,本机使用VMware+Unbuntu,编译泰山派的Linux SDK。详细教程,0基础小白可操作!内涵大量基础操作和linux基本知识。_立创泰山派sdk编译