一、功能

  显示当前系统正在执行的进程的相关信息【进程ID、内存占用率、CPU占用率等】

  性能分析工具  实时动态显示(系统中各个进程的资源占用情况)

二、用法

  • -b                         批处理
  • -c                              显示完整的治命令
  • -I                               忽略失效过程
  • -s                              保密模式
  • -S                             累积模式
  • -i<时间>                   设置间隔时间
  • -u<用户名>              指定用户名
  • -p<进程号>              指定进程
  • -n<次数>            循环显示的次数

三、实例

1.top - 23:50:48 up 12:28,  2 users,  load average: 0.07, 0.05, 0.05
系统当前时间23:50:48  12:28系统运行时间  两个user登录系统 1分钟、5分钟 10分钟的负载情况 (load average是每隔五秒钟检查一次活跃的进程数,按特定的算法计算得来,次数/CPU数量,若大于5表名系统超负荷运转)
2.Tasks: 414 total, 3 running, 411 sleeping, 0 stopped, 0 zombie
系统共有414个进程数,3个运行中,414个休眠 停止状态0个 僵尸状态0个
3.%Cpu(s): 62.7 us,   9.0 sy, 0.0 ni,       28.3 id, 0.0 wa, 0.0 hi,           0.0 si, 0.0 st
用户空间占用CPU的百分比, 内核空间, 改变过优先级的进程, 空闲cpu,   IO等待 硬中断(Hardware IRQ) 软中断(Software Interrupt)
4.KiB Mem : 3866920 total, 1353744 free, 734100 used, 1779076 buff/cache
        物理内存总量   空闲内存总量    使用中的      缓存的
5.KiB Swap: 4064252 total, 4064252 free, 0 used. 2848820 avail Mem
 交换分区   交换区总量      空闲交换区 空闲交换区  

  第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。

 如果出于习惯去计算可用内存数,这里有个近似的计算公式:第四行的free + 第四行的buffers + 第五行的cached,对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了

进程ID user 进程优先级 nice值(负值表示高优先级) 进程使用的虚拟内存总量(单位kb,VIRT=SWAP+RES)  RES(进程使用的、未被换出的物理内存大小,单位kb,RES=CODE+DATA)  SHR(共享内存大小) S(进程状态 D不可中断的睡眠状态 R运行 S睡眠 T跟踪/停止 Z僵尸进程)
%CPU(上次更新到现在的CPU时间占用百分比)  %MEM(进程使用的物理内存百分比)  TIME+(进程使用的CPU时间总计,单位1/100秒)  COMMAND(进程名称 命令名/命令行)
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3303 zdl 20 0 1566260 278576 45080 R 40.7 7.2 0:57.72 gnome-shell
2445 root 20 0 247116 53400 9448 S 27.2 1.4 0:44.12 Xorg
12396 zdl 20 0 556204 22728 12736 S 2.0 0.6 0:23.32 gnome-terminal-
3513 zdl 20 0 377804 18736 14708 S 0.7 0.5 0:50.03 vmtoolsd
1 root 20 0 126556 7368 2616 S 0.3 0.2 0:06.93 systemd
137 root 20 0 0 0 0 S 0.3 0.0 0:01.88 rcu_sched
3079 zdl 20 0 38264 2264 932 S 0.3 0.1 0:00.24 dbus-daemon
3359 zdl 20 0 576764 8864 5168 S 0.3 0.2 0:01.50 caribou
2 root 20 0 0 0 0 S 0.0 0.0 0:00.05 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.12 ksoftirqd/0
7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/0
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/1
11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/2
12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/3
13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/4
14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/5
15 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/6
16 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/7
17 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/8
18 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/9
19 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/10
20 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/11
21 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/12
22 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/13
23 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/14
24 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/15
25 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/16
26 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/17
27 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/18
28 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/19
29 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/20
30 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/21
31 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/22
32 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/23
33 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/24
34 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/25
35 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/26
36 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/27
37 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/28
38 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/29
39 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/30
40 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/31
41 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/32
42 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/33
43 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/34
44 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/35
45 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/36
46 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/37
47 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/38
48 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/39

四、其他使用技巧

1.在进程监控命令行界面按下“1”,可监控每个逻辑CPU的状况

2.高亮显示当前运行进程 -b

3.进程字段排序

  默认是按照cpu占用率排序的,按下x可看到结果

4.“shift + >”和“shift + <”

向左或者向右移动改变排序的规则

5.top交互命令

h 显示帮助画面,给出一些简短的命令总结说明

k 终止一个进程。

i 忽略闲置和僵死进程。这是一个开关式命令。

q 退出程序

r 重新安排一个进程的优先级别

S 切换到累计模式

s 改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s

f或者F 从当前显示中添加或者删除项目

o或者O 改变显示项目的顺序

l 切换显示平均负载和启动时间信息

m 切换显示内存信息

t 切换显示进程和CPU状态信息

c 切换显示命令名称和完整命令行

M 根据驻留内存大小进行排序

P 根据CPU使用百分比大小进行排序

T 根据时间/累计时间进行排序

W 将当前设置写入~/.toprc文件中

Linux命令(1)——top命令的更多相关文章

  1. linux常用命令:top 命令

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法.top是 一个动态显示过程,即可以通过用户按键来不断刷 ...

  2. Linux ps与top命令

    Linux ps与top命令 这两个命令都是查看系统进程信息的命令,但是用处有点儿不同 1.ps命令--提供系统过去信息的一次性快照 也就是说ps命令能够查看刚刚系统的进程信息  命令:ps aux或 ...

  3. Linux查看系统当前登录用户的命令,top命令看到users有多个用户登录

    Linux查看系统当前登录用户的命令,top命令看到users有多个用户登录 作为系统管理员,top命令看到users有多个用户登录,会需要查看下是否被黑客进入了. 实战例子:top命令:top - ...

  4. 每天一个linux命令:top命令

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法.top是一个动态显示过程,即可以通过用户按键来不断刷新 ...

  5. 每天一个linux命令(34)--top命令

    今天给领导发邮件,我这边虽然显示发出去了,但是他那边一直没收到,结果我以为我发了,他又一直在那边等结果.所以说,以后要另外发个信息或者QQ微信之类的说一声. top命令是Linux 下常用的性能分析工 ...

  6. 【Linux命令】top命令

    一.简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,常用于服务端性能分析. 二.使用 1.查看进程内线程情况 top -Hp 2556(2556为进程号)找 ...

  7. 性能监控(1)--linux下的top命令

    Linux下的监控工具 top命令 top命令能够实时显示系统中各个进程的资源占用情况,其输出信息分为两部分,前半部分为系统统计信息,后半部分是进程信息. 第一行是任务队列信息,它的结果等同于upti ...

  8. linux命令总结top命令

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

  9. linux系统下top命令参数详解

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

  10. linux怎样使用top命令查看系统状态

    有时候有很多问题只有在线上或者预发环境才能发现,而线上又不能Debug,所以线上问题定位就只能看日志,系统状态和Dump线程. Linux系统可以通过top命令查看系统的CPU.内存.运行时间.交换分 ...

随机推荐

  1. nginx的进程结构实例演示

    nginx父子进程之间是使用信号进行管理的. nginx -s reload 会使之前的nginx子进程退出,生成新的nginx子进程 或者kill -SIGHUP 9170 kill -SIGTER ...

  2. 视觉slam十四讲课后习题ch3-7

    题目回顾: 设有小萝卜一号和小萝卜二号位于世界坐标系中,小萝卜一号的位姿为:q1=[0.35,0.2,0.3,0.1],t2=[0.3,0.1,0.1]^T (q的第一项为实部.请你把q归一化后在进行 ...

  3. 必须收藏的MySQL高性能优化实战总结!

    MySQL对于很多程序员来说,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰.在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的查询优化工作实际上就是 ...

  4. 调用caffe脚本将图片转换为了lmdb格式

    #!/usr/bin/env sh # Create the imagenet lmdb inputs # N.B. set the path to the imagenet train + val ...

  5. HDU6446 Tree and Permutation(树、推公式)

    题意: 给一棵N个点的树,对应于一个长为N的全排列,对于排列的每个相邻数字a和b,他们的贡献是对应树上顶点a和b的路径长,求所有排列的贡献和 思路: 对每一条边,边左边有x个点,右边有y个点,x+y= ...

  6. Go语言实现:【剑指offer】二叉树的深度

    该题目来源于牛客网<剑指offer>专题. 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. Go语言实现: /** ...

  7. 使用Java实现三个线程交替打印0-74

    使用Java实现三个线程交替打印0-74 题目分析 三个线程交替打印,即3个线程是按顺序执行的.一个线程执行完之后,唤醒下一个线程,然后阻塞,等待被该线程的上一个线程唤醒.执行的顺序是一个环装的队列 ...

  8. [redis读书笔记] 第二部分 单机数据库 RDB持久化

    内存中的rdb是会存为文件以做到RDB持久化的.RDB文件时一个二进制文件. 一 载入与存储 文件的载入是在server启动时进行的(rdbload()),因为AOF的更新频率比RDB高,所以如果AO ...

  9. 编译安装php依赖软件libiconv-1.14报错及其解决办法

    make && make install报如下错误: ./stdio.h:1010:1: 错误:‘gets’未声明(不在函数内) _GL_WARN_ON_USE (gets, &quo ...

  10. 优雅地使用 C++ 制作表格:tabulate

    作者:HelloGitHub-ChungZH 0x00 介绍 tabulate tabulate 是一个使用 C++ 17 编写的库,它可以制作表格.使用它,把表格对齐.格式化和着色,不在话下!你甚至 ...