三三世界-百宝箱

文章 分类 标签
130 9 247

公告

暂无站点公告

Linux系统top命令详解

三三 2021-11-12 1454 0条评论 操作系统Linux使用 使用教程centosLinuxTop命令

首页 / 正文

1、top命令简介
top命令是动态查看进程变化,监控linux的系统状况;它是常用的性能分析工具,能够实时显示系统资源各个进程占用状况,类是windows的任务管理器。

1.1 语法

[root@localhost ~]# top -h
  procps-ng version 3.3.10
Usage:
  top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]

-h | -v: 显示帮助或者版本信息】
-c: 命令行列显示程序名以及参数
-d: 启动时设置刷新时间间隔
-H: 设置线程模式
-i: 只显示活跃进程
-n: 显示指定数量的进程
-p: 显示指定PID的进程
-u: 显示指定用户的进程

1.2 视图参数含义

top - 16:18:19 up 1 day,  5:24,  1 user,  load average: 0.00, 0.04, 0.12
Tasks: 108 total,   1 running, 107 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.0 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1882012 total,    79332 free,   482068 used,  1320612 buff/cache
KiB Swap:  2076668 total,  2056700 free,    19968 used.  1185576 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
 1331 root      20   0   20744   4544   2896 S  0.7  0.2   1:07.82 top
    1 root      20   0   44668   3608   2152 S  0.0  0.2   0:10.34 systemd
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd
    4 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H

从上面的结果可以看出,top视图分为两部分:操作系统资源概况信息和进程信息。首先是分析资源概况中各个参数含义,再来分析进程信息中各个参数含义。

我们先利用top命令进入视图,再f键看下全称信息,再q退出回到top视图。

Fields Management for window 1:Def, whose current sort field is %CPU
   Navigate with Up/Dn, Right selects for move then <Enter> or Left commits,
   'd' or <Space> toggles display, 's' sets sort.  Use 'q' or <Esc> to end!

* PID     = Process Id
* USER    = Effective User Name
* PR      = Priority
* NI      = Nice Value
* VIRT    = Virtual Image (KiB)
* RES     = Resident Size (KiB)
* SHR     = Shared Memory (KiB)
* S       = Process Status
* %CPU    = CPU Usage
* %MEM    = Memory Usage (RES)
* TIME+   = CPU Time, hundredths
* COMMAND = Command Name/Line
  PPID    = Parent Process pid
  UID     = Effective User Id
  RUID    = Real User Id
  RUSER   = Real User Name
  SUID    = Saved User Id
  SUSER   = Saved User Name
  GID     = Group Id
  GROUP   = Group Name
  PGRP    = Process Group Id
  TTY     = Controlling Tty
  TPGID   = Tty Process Grp Id
  SID     = Session Id
  nTH     = Number of Threads
  P       = Last Used Cpu (SMP)
  TIME    = CPU Time
  SWAP    = Swapped Size (KiB)
  CODE    = Code Size (KiB)
  DATA    = Data+Stack (KiB)
  nMaj    = Major Page Faults
  nMin    = Minor Page Faults
  nDRT    = Dirty Pages Count
  WCHAN   = Sleeping in Function
  Flags   = Task Flags <sched.h>
  CGROUPS = Control Groups
  SUPGIDS = Supp Groups IDs
  SUPGRPS = Supp Groups Names
  TGID    = Thread Group Id
  ENVIRON = Environment vars
  vMj     = Major Faults delta
  vMn     = Minor Faults delta
  USED    = Res+Swap Size (KiB)
  nsIPC   = IPC namespace Inode
  nsMNT   = MNT namespace Inode
  nsNET   = NET namespace Inode
  nsPID   = PID namespace Inode
  nsUSER  = USER namespace Inode
  nsUTS   = UTS namespace Inode

1、资源概况

a、操作系统时间、登录用户、负载情况 - top

top - 16:18:19 up 1 day,  5:24,  1 user,  load average: 0.00, 0.04, 0.12

16:18:19:当前系统时间。
up 1 days, 5:24:操作系统从开机后运行的时间,运行天时分。
users:当前系统1个用户登录在线。
load average:1,5,15分钟的系统平均负载。

b、运行任务概况 - tasks

Tasks: 108 total,   1 running, 107 sleeping,   0 stopped,   0 zombie

total:系统当前运行进程数。
running:当前运行的进程数。
sleeping:睡眠中的进程数。

c、CPU概览: %Cpu(s) 表示CPU使用百分比,按照时间占用计算,单位s

%Cpu(s):  0.3 us,  0.0 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

us:用户空间占用cpu时间百分比,如果是多核,这个数值表示占用的平均百分比,可以按1进行多核统计和平均统计切换
sy:内核空间占用cpu时间百分比,后续同上。
ni:用户空间改变过优先级的进程占用cpu时间百分比。
id:空闲时间占用cpu的百分比。
wa:等待输入输出占用cpu时间百分比。
hi:硬中断占用cpu时间百分比。
si:软中断占用cpu时间百分比。

时间占用百分比=该种类型操作消耗cpu时间/top刷新间隔时间。
top每3s刷新一次,用户空间进程在这3秒内使用了cpu时间1.5s,那么us为50%=1.5s/3s。

d、内存概览(KB)

KiB Mem :  1882012 total,    79332 free,   482068 used,  1320612 buff/cache

total:内存总量。
free:内存剩余总量。
used:内存使用数量。
buff/cached:用于缓冲的内存数量。

e、缓存区概况(KB)

KiB Swap:  2076668 total,  2056700 free,    19968 used.  1185576 avail Mem

total:交换区总量。
free:空闲交换区数量。
used:使用交换区数量。

2、进程概况

进程概况的统计是从多个维度进行展示的,其中几个计较重要的参数如下:

PID:进程ID,唯一标识。
USER:进程所属用户。
%CPU:自上一次top刷新该进程的cpu占用时间百分比。
%MEM:进程消耗内存百分比。
TIME+:自进程开始以来,消耗CPU时间,单位1/100s。
其它参数可以在上面f键视图的全称中了解。

1.3 top视图中交互命令

1、全局

Enter/Space:刷新视图。

h:帮助信息,查询各个交互命令的含义。
O:是否展示进程区域中的0值,比如%CPU是0的将全部隐藏。
A:在全屏模式和多窗口选择模式中切换。
d:设置刷新时间间隔。
E:切换内存和交换区单位。
H:开启/关闭线程模式,以线程的方式展示。
k:杀掉指定进程或线程。
Z:改变颜色配置。
q:退出。

2、概要区域

1:显示CPU平均状态/分开显示各个逻辑CPU状态。
m:切换显示内存统计的数据。

3、进程区域

x:切换高亮行的排序位置。
z:切换颜色。
b:块状标记高亮行。
c:切换显示命令/程序名和参数。
f:显示field管理。
u:按照执行用户显示进程。
i:显示所有进程或活跃的进程。
n:设置显示的进程数。

1.4 top常用场景

top -H -p pid # 显示某个进程所有活跃的线程消耗情况。

评论(0)

当前没有评论,还不快来留下第一个脚印吧


Copyright 2021 三三世界-百宝箱. All Rights Reserved.

最新评论

  • 三三

    @Doug Shume it's ok for me , you can post here.

  • refugiaguenther

    Saved as a favorite, I like your website!

  • josefa

    If some one wishes to be updated with hottest technologies after that he must be visit this site and be up to date daily.

  • Penzu

    Heello would you mind sharing which blog platform you're using? I'm planning to start my own blog in the near future but I'm having a tough time making a decision between BlogEngine/Wordpress/B2evolution and Drupal. The reason I ask is because your layout seems different then moost blogs and I'm looking for something completely unique. P.S Apologies forr being off-topic butt I had to ask!

  • Yupoo Fendi

    Thanks to my father who shared with me regarding this webpage, this website is genuinely amazing.

  • Doug Shume

    Hi, I have an overflow of customers that I'd like to send to you but I want to make sure you can handle more leads, let me know if you'd like me to send you more info.

  • SuperWind

    zh.us.to 有效
    kms.03k.org 有效
    kms.chinancce.com
    kms.shuax.com 有效
    kms.dwhd.org 有效
    kms.luody.info 有效
    kms.digiboy.ir 有效
    kms.lotro.cc 有效
    www.zgbs.cc 有效
    cy2617.jios.org 有效

  • 三三

    @         权限问题,试试sudo 再加命令。

  •         

    你好提示Permission denied 怎么办啊

日历

2024年05月

   1234
567891011
12131415161718
19202122232425
262728293031 

文章目录

上一张 下一张