top命令

用于实时地对系统处理器状态进行监控,它能够实时地显示系统中各个进程的资源占用状况。该命令可以按照CPU的使用、内存的使用和执行时间对系统任务进程进行排序显示,同时top命令还可以通过交互式命令进行设定显示。

top命令的参数选项及说明

-a 将进程按照使用内存排序
-b 以批处理的模式显示进程信息,输出结果可以传递给其他程序或写入到文件中。在这种模式下,top命令不会接受任何输入,一直运行直到达到 -n 选项设置的阀值,或者按Ctrl+C等组合键终止程序
-c 显示进程的整个命令路径,而不是只显示命令名称
-d 指定每两次屏幕信息刷新之间的时间间隔
-H 指定这个可以显示每个线程的情况,否则就是进程的总的状态
-i 不显示闲置或者僵死的进程信息
-n top输出信息更新的次数,完成后将退出top命令
-p 显示指定的进程信息

交互式命令

交互式命令就是在top命令执行过程中使用的一些命令。

对交互式命令说明

h或? 显示帮助信息,给出交互式命令的一些说明总结
Z   全局颜色设置
B   全局字体加粗设置
l   切换是否显示平均负载和启动时间信息
t   切换是否显示进程和CPU状态信息
m   切换是否显示内存信息
1   数字1,用于多核CPU监控,可监控每个逻辑CPU的状况
I   Irix/Solaris模式
f   从当前显示列表中添加或删除项目。按“f”键之后会显示列的列表,按“a~z”键即可显示或隐藏对应的列,最后按回车键确定
o   改变top输出信息中显示项目的顺序。按小写的“a~z”键可以将相应的列向右移动,而按大写的“A~Z”键可以将相应的列向左移动,最后按回车键确定
F或O 选择排序的列
<,>  移动选择排序的列,“<”选择左邻一列排序,“>”选择右邻一列排序 R   切换正常/反转排序
H   切换是否显示线程信息
c   切换是否显示完整命令行和命令名称信息
i   切换是否显示闲置进程和僵死进程
S   切换到累计模式
x   以高亮的形式排序对应列,需要结合b/z使用
y   高亮运行的进程,需要结合b/z使用
z   打开/关闭颜色
b   打开/关闭加粗
u   显示指定用户相关的进程信息
n或# 设置显示进程的最大行数
k 终止一个进程,系统将提示用户输入一个需要终止进程的PID
r 重新设置一个进程的优先级,系统提示用户输入需要改变的进程PID,以及需要设置的进程优先级值。
输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10
d或s 改变top输出信息两次刷新之间的时间,系统将提示输入新的时间,单位是s。
如果是小数,则换算成ms;如果输入0,那么系统输出将会不断刷新,默认刷新时间是3s。
需要注意的是,如果设置太小的时间,则可能会引起系统不断刷新,无法看清输出显示情况,而且系统负载也会加大
W  将当前top设置写入“.toprc”文件中
q   退出top显示

显示进程信息

下面针对命令各行的内容进行说明。
第一行,任务队列信息,同uptime命令的执行结果。
  02:39:54    当前系统时间。
  up 1day,16:36 系统已经运行了1天16小时36分。
  1 users 当前有 1 个用户登录系统。
  load average:0.00,0.00,0.00load average后面的三个数分别是1分钟、5分钟、15分钟的平均负载情况。
第二行,Tasks为任务(进程)。从上面的信息可以看出,系统现在共有134个进程,其中处于运行状态的有1个,91个在休眠(sleep),stoped状态0个,zombie状态(僵死)的有0个。
第三行,CPU状态信息。
  0.0%us 用户空间占用CPU的百分比。
  0.0%sy 内核空间占用CPU的百分比。
  0.0%ni 改变过优先级的进程占用CPU的百分比。
  100.0%id 空闲CPU百分比。
  0.0%wa I/0等待占用CPU的百分比。
  0.0%hi 硬中断(Hardware IRQ)占用CPU的百分比。
  0.0%si 软中断(Software Interrupts)占用CPU的百分比。
  0.0%st 虚拟机占用CPU的百分比。
第四行,内存状态。
  486224k total 物理内存总量。
  401188k used 使用中的内存总量。
  85036k free 空闲内存总量。
  42352k buffers 缓冲的内存量。
第五行,swap交换分区信息。
  1535996k total 交换区总量。
  0k used 使用的交换区总量。
  1535996k free 空闲交换区总量。
  216936k cached 缓存的内存量。 1)计算真正可用的内存数为:第四行的free+第四行的buffers+第五行的cached。
2)在对内存进行监控时,我们要时刻关注top命令里第五行swap交换分区的used,如果这个数值还在不断地变化,则说明内核正在不断进行内存和swap的数据交换,这表示内存真的不够用了或者程序运行有内存溢出问题。 第六行,空行。
从第七行开始,给出的是各进程(任务)的状态监控。
  PID    进程id。
  USER   进程所有者。
  PR    进程优先级。
  NI    nice值,负值表示高优先级,正值表示低优先级。
  VIRT   进程使用的虚拟内存总量,单位为kb。
  RES    进程使用的、未被换出的物理内存大小,单位为kb。
  SHR    共享内存大小,单位为kb。
  S    进程状态。D=不可中断的睡眠状态R=运行S=睡眠T=跟踪/停止Z=僵尸进程。
  %CPU 上次更新到现在的CPU时间占用百分比。
  %MEM 进程使用的物理内存百分比。
  TIME+ 进程使用的CPU时间总计,单位1/100秒。
  COMMAND 进程名称(命令名/命令行)。

显示多核不同核CPU的信息

按数字“1”,可监控每个逻辑CPU情况
服务器有两个CPU,再按数字1返回到top基本视图界面

将进程按照使用内存排序

[root@cs6 ~]# top -a # centos 7 里面没有该选项,top交互模式下按 M

以批处理模式显示进程信息。

[root@doit ~]# top -b #<=使用参教 -b 可以看到命令执行结果不停地向下刷新。

显示进程的完整路径

[root@doit ~]# top -c #<=使用参数-c 显示进程的整个命令路经,而不是只显示命令名称。

设置执行top命令后的信息刷新时间

[root@doit ~]# top -d 3 #<==使用参数-d指定更新周期为3秒,也就是说命令结果每隔3s刷新一次。

设置执行top命令后的信息刷新次数。

[root@doit ~]# top -n 2 #<=使用参数 -n 指定更新次数为2次,也就是说命令结果刷新两次后终止退出,-n参数可以和一d参数配合使用。

显示指定的进程信息

[root@doit ~]# top -p 3782

字段排序(交互模式)例子

默认进入top命令时,各进程是按照CPU的使用量来排序的。

敲击键盘“b”和“x”,得到图

敲击键盘“z”和“x”,
敲击z后,可以看到大部分内容都变成了红色,再敲x,对列高亮显示。

通过“>”或“<”可以向右或向左改变排序列,

敲击键盘“>”或“<”,可以改变排序的列,依然高亮显示,降序排列。

9.7 top:实时显示系统中各个进程的资源占用状况的更多相关文章

  1. [linux]top命令详解-实时显示系统中各个进程的资源占用状况

    简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按 ...

  2. Linux 中查看进程及资源使用情况

    top 自带的 top 命令类似于平时我们使用的任务管理器,能够列出当前系统中的进程及资源的使用情况. $ man top top - display Linux tasks 使用起来很简单,不加任何 ...

  3. Windows中查看进程的资源消耗(cpu, Disk,Memory,NetWork)

    1.通过Windows Task Manager 的 Performance Tab 可以看到总体的性能消耗情况. 2.如果想看系统中每个进程的资源消耗,可以点击 下面的 Open Resource ...

  4. 让Win10显示系统中隐藏的文件夹

    让Win10显示系统中隐藏的文件夹.. ------------------------- -----------------------

  5. free - 显示系统中已用和未用的内存空间总和.

    总览 (SYNOPSIS) free [-b | -k | -m] [-o] [-s delay ] [-t] [-V] 描述 (DESCRIPTION) free 显示 系统中 已用和未用的 物理内 ...

  6. Linux中显示系统中USB信息的lsusb命令

    来源:Linux中国  原文:https://linux.cn/article-2448-1.html 通用串行总线(USB)被设计成为连接计算机外设的标准,如键盘.鼠标.打印机.数码相机.便携式媒体 ...

  7. Qt 实时显示系统时间

    前言 我们用一个label控件来实时显示系统时间,用到 QTimer 和 QDateTime 这个两个类. 正题 头文件: #ifndef MAINWINDOW_H #define MAINWINDO ...

  8. Linux 系统中僵尸进程

    Linux 系统中僵尸进程和现实中僵尸(虽然我也没见过)类似,虽然已经死了,但是由于没人给它们收尸,还能四处走动.僵尸进程指的是那些虽然已经终止的进程,但仍然保留一些信息,等待其父进程为其收尸.配图源 ...

  9. 获取系统中所有进程&线程信息

    读书笔记--[计算机病毒解密与对抗] 目录: 遍历进程&线程程序 终止进程 获取进程信息 获取进程内模块信息 获取进程命令行参数 代码运行环境:Win7 x64 VS2012 Update3 ...

随机推荐

  1. 2021年IT行业八大趋势预测

    在新冠疫情的影响下,过去一年的IT行业产生着或多或少的变化.而今,2020年已走过一个季度,本文根据国内外一些调研机构的数据,整合了以下八条更适合国内的2021年IT行业趋势分析,希望能为相关决策者提 ...

  2. 如何解压从UK biobank下载下来的tsv.bgz文件?

    今天碰到一个问题,就是从UK biobank下载下来的gwas result file是filename.tsv.bgz格式.这东西需要解压才能阅历,可是用zip或者rar都是搞不定,网上搜了一圈,说 ...

  3. JAVAEE_Servlet_05_ServletConfig接口

    ServletConfig接口 研究javax.servlet.ServletConfig接口 1.javax.servlet.ServletConfig是一个接口 2.Apache Tomcat服务 ...

  4. 记一次“愉快”的lnmp环境的搭建

    愉快的lnmp环境搭建 后续更新 几个笔记记录 yum remove php-mysql yum -y install cmake autoconf wget gcc-c++ gcc zlib pcr ...

  5. 【ElasticSearch】ES 读数据,写数据与搜索数据的过程

    ES读数据的过程: 1.ES客户端选择一个node发送请求,该请求作为协调节点(coordinating node): 2.corrdinating node 对 doc id 对哈希,找出该文档对应 ...

  6. 技术面试问题汇总第003篇:猎豹移动反病毒工程师part3

    从现在开始,面试的问题渐渐深入.这次的三个问题,都是对PE格式的不断深入的提问.从最初的概念,到病毒对PE格式的利用,再到最后的壳的问题.这里需要说明的是,由于壳是一个比较复杂的概念,面试中也仅仅只能 ...

  7. 基于C++简单Windows API的socket编程(阻塞模式)

    1. 概述:简单的基于Windows API的socket点对点聊天程序,为了方便初学者,本文代码均采用阻塞原理编写. 2. 代码样例 Server.cpp(服务端) #include <cst ...

  8. Python脚本扫描给定网段的MAC地址表(scapy或 python-nmap)

    目录 用scapy模块写 用 python-nmap 模块写 python3.7  windows环境 以下两个都可以扫描指定主机或者指定网段的 IP 对应的 MAC 地址,然后保存到 csv 文件中 ...

  9. UVA11134传说中的车(放棋子)

    题意:       给你一个n*n的棋盘,让你在棋盘上放n个棋子,要求是所有棋子不能相互攻击(同行或者同列就会攻击),并且每个棋子都有一个限制,那就是必须在给定的矩形r[i]里,输出每个棋子的位置,s ...

  10. Andrew Ng机器学习算法入门(十):过拟合问题解决方法

    在使用机器学习对训练数据进行学习和分类的时候,会出现欠拟合和过拟合的问题.那么什么是欠拟合和过拟合问题呢?