2017-06-07 17:27:39 Seandba 阅读数 335
  • Linux系列之走进Linux新世界

    本课程为全新马哥Linux全套系列课程之一--Linux基础入门和架构了解,从Linux起源,Linux架构和Linux形成历史开始逐步讲解,让你彻彻底底了解Linux的诞生,之后介绍了Linux相关文化和核心组成结构,以及Linux常用命令和基本用法,课程由浅入深,讲授方法受到98%学员一致好评!

    20503 人正在学习 去看看 马永亮
top类似windows任务管理器,展示进程任务信息,还有cpu、memory、swap等统计信息

--1.查看版本信息
[oracle@hgora11g ~]$ top -v
	top: procps version 3.2.8
usage:	top -hv | -abcHimMsS -d delay -n iterations [-u user | -U user] -p pid [,pid ...]

--2.默认显示信息,按%CPU列排序
[oracle@hgora11g ~]$ top
top - 16:29:13 up 238 days,  6:12,  6 users,  load average: 0.01, 0.06, 0.03
Tasks: 496 total,   1 running, 494 sleeping,   1 stopped,   0 zombie
Cpu(s):  0.3%us,  0.2%sy,  0.0%ni, 99.5%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  16335768k total, 15555392k used,   780376k free,   292632k buffers
Swap:  8241144k total,   476180k used,  7764964k free, 12907104k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                              
10620 oracle    -2   0 5037m  14m  14m S  1.7  0.1   3866:23 oracle                                                                                                                
10630 oracle    20   0 5048m  76m  68m S  0.7  0.5   1065:37 oracle                                                                                                                
27137 oracle    20   0 15304 1556  944 R  0.7  0.0   0:00.30 top                                                                                                                   
   36 root      20   0     0    0    0 S  0.3  0.0  14:48.67 events/1

--3.按内存使用排序
[oracle@hgora11g ~]$ top -a

--4.页面刷新时间,单位为秒
[oracle@hgora11g ~]$ top -d 5 

--5.不显示idle进程
[oracle@hgora11g ~]$ top -i
或者top后按i键

--6.VIRT/USED toggle,Reports USED (sum of process rss and swap total count) instead of VIRT
[oracle@hgora11g ~]$ top -m

--7.内存信息用(k/M/G)展示
[oracle@hgora11g ~]$ top -M
Mem:    15.579G total,   14.856G used,  740.629M free,  286.508M buffers
Swap: 8047.992M total,  465.020M used, 7582.973M free,   12.311G cached

--8.指定页面刷新次数
[oracle@hgora11g ~]$ top -n 5

--9.指定进程id,可以逗号分隔
[oracle@hgora11g ~]$ top -p 26835,28447

--10.-S : Cumulative time mode toggle
Starts top with the last remembered ’S’ state reversed.  When ’Cumulative mode’ is On, 
each process is listed with the cpu time that it and its  dead children have used.  
See the ’S’ interactive command for additional information regarding this mode.

--11.指定用户
[oracle@hgora11g ~]$ top -u oracle

 2. FIELDS / Columns
   2a. DESCRIPTIONS of Fields
       Listed  below  are top’s available fields.  They are always associated with the letter shown, regardless of the position 
       you may have established for them with the ’o’ (Order fields) interactive command.

       Any field is selectable as the sort field, and you control whether they are sorted high-to-low or low-to-high.  
       For additional information on sort  provi-sions see topic 3c. TASK Area Commands.

       a: PID  --  Process Id
          The task’s unique process ID, which periodically wraps, though never restarting at zero.

       b: PPID  --  Parent Process Pid
          The process ID of a task’s parent.

       c: RUSER  --  Real User Name
          The real user name of the task’s owner.

       d: UID  --  User Id
          The effective user ID of the task’s owner.

       e: USER  --  User Name
          The effective user name of the task’s owner.

       f: GROUP  --  Group Name
          The effective group name of the task’s owner.

       g: TTY  --  Controlling Tty
          The  name  of  the controlling terminal.  This is usually the device (serial port, pty, etc.) from which the process 
          was started, and which it uses for input or output.  
          However, a task need not be associated with a terminal, in which case you’ll see ’?’ displayed.
       
       h: PR  --  Priority
          The priority of the task.

       i: NI  --  Nice value
          The nice value of the task.  A negative nice value means higher priority, whereas a positive nice value means lower 
          priority.  
          Zero in this field  simply means priority will not be adjusted in determining a task’s dispatchability.

       j: P  --  Last used CPU (SMP)
          A  number  representing the last used processor.  In a true SMP environment this will likely change frequently since 
          the kernel intentionally uses weak affinity.  Also, the very act of running top may break this weak affinity 
          and cause more processes to change CPUs more  often  (because  of  the  extra demand for cpu time).

       k: %CPU  --  CPU usage
          The  task’s  share  of  the  elapsed CPU time since the last screen update, expressed as a percentage 
          of total CPU time.  
          In a true SMP environment, if ’Irix mode’ is Off, top will operate in ’Solaris mode’ where a task’s 
          cpu usage will be 
          divided by the total number of CPUs.  You toggle ’Irix/Solaris’ modes with the ’I’ interactive command.

       l: TIME  --  CPU Time
          Total  CPU  time the task has used since it started.  When ’Cumulative mode’ is On, each process is listed with the 
          cpu time that it and its dead children has used.  You toggle ’Cumulative mode’ with ’S’, 
          which is a command-line option 
          and an interactive command.  See the ’S’ interactive command  for additional information regarding this mode.

       m: TIME+  --  CPU Time, hundredths
          The same as ’TIME’, but reflecting more granularity through hundredths of a second.

       n: %MEM  --  Memory usage (RES)
          A task’s currently used share of available physical memory.
          
       o: VIRT  --  Virtual Image (kb)
          The total amount of virtual memory used by the task.  It includes all code, data and shared libraries plus pages 
          that have been swapped out. (Note: you can define the STATSIZE=1 environment variable and the VIRT will be 
          calculated from the /proc/#/state VmSize field.)

       p: SWAP  --  Swapped size (kb)
          Per-process swap values are now taken from /proc/#/status VmSwap field.

       q: RES  --  Resident size (kb)
          The non-swapped physical memory a task has used.

       r: CODE  --  Code size (kb)
          The amount of physical memory devoted to executable code, also known as the ’text resident set’ size or TRS.

       s: DATA  --  Data+Stack size (kb)
          The amount of physical memory devoted to other than executable code, also known as the ’data resident set’
         size or DRS.

       t: SHR  --  Shared Mem size (kb)
          The amount of shared memory used by a task.  It simply reflects memory that could be potentially shared with 
          other processes.

       u: nFLT  --  Page Fault count
          The number of major page faults that have occurred for a task.  A page fault occurs when a process attempts to 
          read from or write  to  a  virtual  page that is not currently present in its address space.  
          A major page fault is when disk access is involved in making that page available.

       v: nDRT  --  Dirty Pages count
          The  number of pages that have been modified since they were last written to disk.  Dirty pages must be 
          written to disk 
          before the corresponding physical memory location can be used for some other virtual page.

       w: S  --  Process Status
          The status of the task which can be one of:
             ’D’ = uninterruptible sleep
             ’R’ = running
             ’S’ = sleeping
             ’T’ = traced or stopped
             ’Z’ = zombie

          Tasks shown as running should be more properly thought of as ’ready to run’  --  their task_struct is simply 
          represented on the Linux run-queue.   Even without a true SMP machine, you may see numerous tasks in this state 
          depending on top’s delay interval and nice value.

       x: Command  --  Command line or Program name
          Display  the command line used to start a task or the name of the associated program.  
          You toggle between command line and name with ’c’, which is both a command-line option and an interactive command.

          When you’ve chosen to display command lines, processes without a command line (like kernel threads) will be 
          shown with only the program name in  paren theses, as in this example:
                ( mdrecoveryd )

          Either  form of display is subject to potential truncation if it’s too long to fit in this field’s current width.  
         That width depends upon other fields selected, their order and the current screen width.

          Note: The ’Command’ field/column is unique, in that it is not fixed-width.  When displayed, this column will be 
          allocated all  remaining  screen  width (up to the maximum 512 characters) to provide for the potential growth 
          of program names into command lines.

       y: WCHAN  --  Sleeping in Function
          Depending  on  the availability of the kernel link map (’System.map’), this field will show the name or 
          the address of the kernel function in which the task is currently sleeping.  
          Running tasks will display a dash (’-’) in this column.

          Note: By displaying this field, top’s own working set will be increased by over 700Kb.  
          Your only means of reducing that overhead will be to  stop  and restart top.

       z: Flags  --  Task Flags
          This  column  represents  the  task’s  current scheduling flags which are expressed in hexadecimal notation 
          and with zeros suppressed.  These flags are officially documented in <linux/sched.h>.  
          Less formal documentation can also be found on the ’Fields select’ and ’Order fields’ screens.

   2b. SELECTING and ORDERING Columns
       After pressing the interactive commands ’f’ (Fields select) or ′o’ (Order fields) you will be shown a screen 
       containing the current fields string followed by names and descriptions for all fields.

       Here is a sample fields string from one of top’s four windows/field groups and an explanation of the conventions used:

       -  Sample fields string:
             ANOPQRSTUVXbcdefgjlmyzWHIK

       -  The order of displayed fields corresponds to the order of the letters in that string.

       -  If the letter is upper case the corresponding field itself will then be shown as part of the task 
          display (screen width permitting).  
          This will also be indicated by a leading asterisk (’*’), as in this excerpt:
              ...
              * K: %CPU       = CPU usage
                l: TIME       = CPU Time
                m: TIME+      = CPU Time, hundredths
              * N: %MEM       = Memory usage (RES)
              * O: VIRT       = Virtual Image (kb)
              ...

       Fields select screen  --  the ’f’ interactive command
          You toggle the display of a field by simply pressing the corresponding letter.

       Order fields screen  --  the ’o’ interactive command
          You move a field to the left by pressing the corresponding upper case letter and to the right with the 
          lower case letter.

   2c. SUMMARY Area Fields
       The summary area fields describing CPU statistics are abbreviated.  They provide information about times spent in:
           us = user mode
           sy = system mode
           ni = low priority user mode (nice)
           id = idle task
           wa = I/O waiting
           hi = servicing IRQs
           si = servicing soft IRQs
           st = steal (time given to other DomU instances)
           
来源自man手册:man top

2019-04-30 16:13:26 boenxia 阅读数 127
  • Linux系列之走进Linux新世界

    本课程为全新马哥Linux全套系列课程之一--Linux基础入门和架构了解,从Linux起源,Linux架构和Linux形成历史开始逐步讲解,让你彻彻底底了解Linux的诞生,之后介绍了Linux相关文化和核心组成结构,以及Linux常用命令和基本用法,课程由浅入深,讲授方法受到98%学员一致好评!

    20503 人正在学习 去看看 马永亮

top 实时监控系统运行进程情况

Linux top1 命令(top) 用来实时监控Linux的系统状况,比如CPU、内存的使用,类似于Windows的任务管理器。

top 用法

Usage: top [options]
options -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]
e.g., top, top -d 2 -n 5
-d secs:动态刷新系统情况的间隔(单位:秒)
-n max:展示结果次数

$ top -d 2 -n 1
top - 11:29:19 up 110 days, 20:47,  1 user,  load average: 0.00, 0.01, 0.05
Tasks: 163 total,   1 running, 162 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  8012508 total,  1302276 free,   817552 used,  5892680 buff/cache
KiB Swap: 14680060 total, 14680060 free,        0 used.  6769676 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
    1 root      20   0  125488   4008   2504 S   0.0  0.1  35:32.98 systemd
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.35 kthreadd
...

top 选项

选项 简要描述
-h, -v 显示top使用帮助/版本信息
-b 以批量模式运行,但不能接受命令行输入
-c 显示命令行,而不仅仅是命令名
-H 待补充
-i 禁止显示空闲进程或僵尸进程
-O 待补充
-s 安全模式运行,禁用一些交互互指令
-S 累积模式,输出每个进程的总的CPU时间,包括已死的子进程
-d secs 显示两次刷新时间的间隔,比如 -d 5,表示两次刷新间隔为5秒
-n max 显示更新次数,然后退出。比如 -n 5,表示top更新5次数据就退出
-u, -U uid 显示指定用户的进程
-p pid(s) 仅监视指定进程的ID pid(s)是一个数值
-o field 待补充
-w [cols] 显示结果宽输出, cols为指定宽度

top 示例

$ top
top - 14:06:07 up 110 days, 23:24,  2 users,  load average: 0.00, 0.01, 0.05
Tasks: 167 total,   1 running, 166 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  8012508 total,  1295424 free,   824024 used,  5893060 buff/cache
KiB Swap: 14680060 total, 14680060 free,        0 used.  6763108 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
    1 root      20   0  125488   4008   2504 S   0.0  0.1  35:34.98 systemd
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.35 kthreadd
    3 root      20   0       0      0      0 S   0.0  0.0   0:04.14 ksoftirqd/0
    5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H

top - 14:06:07 up 110 days, 23:24, 2 users, load average: 0.00, 0.01, 0.05 任务队列信息, 同uptime命令
第1行:显示系统已启动的时间、目前上线人数、系统整体的负载(load)
14:06:07 当前时间
up 110 days, 23:24 已经运行时间
2 users 当前有2个用户登录系统
load average: 0.00, 0.01, 0.05 系统负载,三个数分别是1分钟、5分钟、15分钟的负载情况
注意: 需要注意的是系统的负载,三个数据分别代表 1, 5, 10 分钟的平均负载。 一般来说,这个负载值应该不太可能超过 1 才对,除非您的系统很忙碌。 如果持续高于 5 的话,那么…仔细的看看到底是那个程序在影响整体系统吧

Tasks: 167 total, 1 running, 166 sleeping, 0 stopped, 0 zombie 任务(进程)
第2行:显示的是目前的观察程序数量
167 total 当前进程总数
1 running 正在运行进程数量
166 sleeping 休眠状态的进程数量
0 stopped 停止状态的进程数量
0 zombie 僵尸进程数量
注意:需要注意的是最后的 zombie 那个数值,如果不是 0 ,好好看看到底是那个 process 变成疆尸了吧。

%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st CPU状态信息
第3行:显示的是 CPU 的整体负载,每个项目可使用?查阅
0.0 us 用户占用CPU的百分比
0.0 sy 内核占用CPU的百分比
0.0 ni 改变过优先级的进程占用CPU的百分比
100.0 id 空闲CPU百分比
0.0 wa O等待占用CPU的百分比
0.0 hi 硬中断(Hardware IRQ)占用CPU的百分比
0.0 si 软中断(Software Interrupts)占用CPU的百分比
0.0 st (Steal time) 虚拟 CPU 等待实际 CPU 的时间的百分比
注意:需要观察的是 id (idle) 的数值,一般来说,应该要接近 100% 才好,表示系统很少资源被使用

KiB Mem : 8012508 total, 1295424 free, 824024 used, 5893060 buff/cache 内存状态
第4行:显示目前的物理内存的使用情况
8012508 total 物理内存总量
1295424 free 空闲内存总量
824024 used 使用中的内存总量
5893060 buff/cache 缓存的内存量
注意:

KiB Swap: 14680060 total, 14680060 free, 0 used. 6763108 avail Mem 交换分区信息
第5行:显示目前的交换分区(Swap虚拟内存) 的使用情况
14680060 total 交换区总量
14680060 free 空闲交换区总量
0 used 使用的交换区总量
6763108 avail Mem 有用的交换区总量
注意:

第6行:空白行。当在 top 命令中输入指令时,此处将显示状态

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 进程信息
第7行:显示目前的各进程(任务)的状态监控
PID 进程id
USER 进程所有者
PR 进程优先级
NI nice值。负值表示高优先级,正值表示低优先级
VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR 共享内存大小,单位kb
S 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU 上次更新到现在的CPU时间占用百分比
%MEM 进程使用的物理内存百分比
TIME+ 进程使用的CPU时间总计,单位1/100秒
COMMAND 进程名称(命令名/命令行)
注意:NI, Nice的简写,与 Priority 有关,也是越小越早被执行

top 按键指令

top 命令执行过程当中可以使用的按键指令

按键 指令功能描述
? 显示在top 当中可以输入的按键指令
P 以 CPU的使用资源排序显示
M 以 Memory的使用资源排序显示
N 以 PID来排序
T 由该Process 使用的CPU 时间累积(TIME+)排序
k 给予某个PID 一个讯号(signal)
r 给予某个PID 重新制订一个nice 值
f 显示或者隐藏对应的列,按回车键确定
q 退出
  • f按键:会显示如下列表
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             nsUTS   = UTS namespace Inode
* 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
...

参考资料

  • 如有 错误之处 还请多多指正

注脚


  1. top ↩︎

2018-05-01 19:11:04 chengyq116 阅读数 1772
  • Linux系列之走进Linux新世界

    本课程为全新马哥Linux全套系列课程之一--Linux基础入门和架构了解,从Linux起源,Linux架构和Linux形成历史开始逐步讲解,让你彻彻底底了解Linux的诞生,之后介绍了Linux相关文化和核心组成结构,以及Linux常用命令和基本用法,课程由浅入深,讲授方法受到98%学员一致好评!

    20503 人正在学习 去看看 马永亮

Linux Top command

 

top 命令是 Linux 下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,常用于服务端性能分析。
To view the top CPU consuming processes use the top command. To start top, type top (shown below) in a terminal window. The top command then displays a text screen listing the current processes, arranged in the order of CPU usage, along with various other information, such as memory and swap-space usage.

 

 

 

top 命令的结果分为两个部分:
统计信息:前 5 行是系统整体的统计信息。
进程信息:统计信息下方表格区域显示的是各个进程的详细信息,默认 5 秒刷新一次。

The first line shows the current time, how long the system has been up, how many users are logged in, and three load averages - the average number of processes ready to run during the last 1, 5, and 15 minutes.

第 1 行:top - 任务队列信息 (系统运行状态及平均负载),与 uptime 命令结果相同。 
第 1 段:系统当前时间,例如:14:01:28。
第 2 段:系统运行时间,未重启的时间,时间越长,系统越稳定。格式:up xx days, HH:MM,例如:6 days, 16:22, 表示连续运行了 6 天 16 小时 22 分钟。
第 3 段:当前登录用户数,例如:1 user,表示当前只有 1 个用户登录。
第 4 段:系统负载,即任务队列的平均长度,3 个数值分别统计最近 1,5,15 分钟的系统平均负载。
系统平均负载:单核 CPU 情况下,0.00 表示没有任何负荷,1.00 表示刚好满负荷,超过 1 则表示超负荷,理想值是0.7。
多核 CPU 负载:CPU 核数 * 理想值 0.7 = 理想负荷,例如:4 核 CPU 负载不超过 2.8 表示没有出现高负载。

The second line lists the total number of processes and the status of these processes.

第 2 行:Tasks - 进程相关信息。
第 1 段:进程总数,例如:Tasks: 253 total,表示总共运行 253 个进程。
第 2 段:正在运行的进程数,例如:1 running。
第 3 段:睡眠的进程数,例如:252 sleeping。
第 4 段:停止的进程数,例如:0 stopped。
第 5 段:僵尸进程数,例如:0 zombie。

The third line shows CPU usage - what percentage of CPU time is used by user processes, what percentage by system (kernel) processes, and during what percentage of time the CPU is idle.
user,us
system,sy
idle,id

第 3 行:%Cpu(s) - CPU相关信息。
如果是多核 CPU,按数字 1 可显示各核 CPU 信息,此时 1 行将转为 Cpu 核数行,数字 1 可以来回切换。
第 1 段:us - 用户空间占用 CPU 百分比,例如:%Cpu(s): 2.5 % us。
第 2 段:sy - 内核空间占用 CPU 百分比,例如:1.1% sy。
第 3 段:ni - 用户进程空间内改变过优先级的进程占用 CPU 百分比,例如:0.0% ni。
第 4 段:id - 空闲 CPU 百分比,例如:96.2% id。
第 5 段:wa - 等待输入输出的 CPU 时间百分比,例如:0.1% wa。
第 6 段:hi - CPU服务于硬件中断所耗费的时间总额,例如:0.0% hi。
第 7 段:si - CPU服务软中断所耗费的时间总额,例如:0.1% si。
第 8 段:st - steal time 虚拟机被 hypervisor 偷去的 CPU 时间 (如果当前处于一个 hypervisor 下的 VM,实际上hypervisor 也是要消耗一部分 CPU 处理时间的)。

The fourth line shows how the physical memory is being used - the total amount, how much is used, how much is free, and how much is allocated to buffers (for reading from the hard drive, for example).

第 4 行:KiB Mem - 内存相关信息。
第 1 段:物理内存总量,例如:16383212 total。
第 2 段:空闲内存总量,例如:2718668 free。
第 3 段:使用的物理内存总量,例如:7366672 used。
第 4 段:用作内核缓存的内存量,例如:6297872 buff/cache。

The fifth line shows how the virtual memory (or swap space) is being used - the total amount of swap space, how much is used, how much is free, and how much is being cached.

第 5 行:KiB Swap - 交换分区相关信息。
第 1 段:交换区总量,例如:31999996 total。
第 2 段:空闲交换区总量,例如:31999996 free。
第 3 段:使用的交换区总量,例如:0 used。
第 4 段:缓冲的交换区总量,例如:8314940 avail Mem。

PID - The process ID of the process
USER - Username under which the process is running
PR - Priority of the process
NI - Nice value of the process - the value ranges from -20 (highest priority) to 19 (lowest priority) and the default is 0. (The nice value represents the relative priority of the process: the higher the value the lower the priority and the nicer the process - because it yields to other processes.)
VIRT - The total amount of virtual memory used by the process, in kilobytes
RES - Total physical memory used by a task (typically shown in kilobytes, but an m suffix indicates megabytes)
SHR - Amount of shared memory used by process
S - State of the process (S for sleeping, D for uninterruptible sleep, R for running, Z for zombies - processes that should be dead but are still running - or T for stopped)
%CPU - Percentage of CPU time used since last screen update
%MEM - Percentage of physical memory used by the process
TIME+ - Total CPU time the process has used since it started
COMMAND - Shortened form of the command that started the process

PID = (Process Id) 进程Id。
USER = (Effective User Name) 进程所有者的用户名。
PR = (Priority) 优先级。
NI = (Nice Value) Nice 值。负值表示高优先级,正值表示低优先级。
VIRT = (Virtual Image (KiB)) 进程使用的虚拟内存总量,单位 KiB。VIRT = SWAP + RES。
RES = (Resident Size (KiB)) 进程使用的未被换出的物理内存大小,单位 KiB。RES = CODE + DATA。
SHR = (Shared Memory (KiB)) 共享内存大小,单位 KiB。
S = (Process Status) 进程状态。D = 不可中断的睡眠状态,R = 运行,S = 睡眠,T = 跟踪/停止,Z = 僵尸进程。
%CPU = (CPU Usage) 上次更新到现在的 CPU 时间占用百分比。
%MEM = (Memory Usage (RES)) 进程使用的物理内存百分比。
TIME+ = (CPU Time, hundredths) 进程使用的CPU时间总计,单位 1/100 秒。
PPID = (Parent Process pid) 父进程Id。
RUSER = (Real User Name)。
UID = (Effective User Id) 进程所有者的用户Id。
GROUP = (Group Name) 进程所有者的组名。
TTY = (Controlling Tty) 启动进程的终端名。不是从终端启动的进程则显示为 ?。
P = (Last Used Cpu (SMP)) 最后使用的 CPU,仅在多 CPU 环境下有意义。
SWAP = (Swapped Size (KiB)) 进程使用的虚拟内存中,被换出的大小,单位 KiB。
TIME = (CPU Time) 进程使用的CPU时间总计,单位秒。
CODE = (Code Size (KiB)) 可执行代码占用的物理内存大小,单位KiB。 
DATA = (Data+Stack (KiB)) 可执行代码以外的部分 (数据段 + 栈) 占用的物理内存大小,单位KiB。
Flags = (Task Flags <sched.h>) 任务标志,参考 <sched.h>。
WCHAN = (Sleeping in Function) 若该进程在睡眠,则显示睡眠中的系统函数名。
nDRT = (Dirty Pages Count) 最后一次写入到现在,被修改过的页面数。
COMMAND = (Command Name/Line) 命令名/命令行。

top 命令交互操作
1. 显示 CPU 详细信息,每核显示一行

 

 

 

1 - 显示 CPU 详细信息,每核显示一行。1 可以来回切换。

 

 

 

2. 退出 top
q:退出 top

3. 隐藏/显示第 1 行负载信息
l:隐藏/显示第 1 行负载信息

 

 

 

4. 隐藏/显示第2~3行 CPU 信息

 

 

 

t:按键 1 次 

 

 

 

t:按键 2 次 

 

 

 

t:按键 3 次,隐藏/显示第 1 行负载信息

 

 

 

5. 隐藏/显示第 4~5 行内存信息

 

 

 

m:按键 1 次 

 

 

 

m:按键 2 次 

 

 

 

m:按键 3 次,隐藏/显示第 4~5 行内存信息

 

 

 

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

 

 

 

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

 


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

 


9. 指定进程列表显示行数,默认为满屏行数
n:指定进程列表显示行数,默认为满屏行数

 

 


输入 n

 

 

 

输入 3

 

 

 

输入 Enter

 

 

 

 


References

 

http://www.teqlog.com/linux-commands-for-hardware-info-and-performance-monitoring.html

 

 

2017-05-08 23:05:03 u012294618 阅读数 287
  • Linux系列之走进Linux新世界

    本课程为全新马哥Linux全套系列课程之一--Linux基础入门和架构了解,从Linux起源,Linux架构和Linux形成历史开始逐步讲解,让你彻彻底底了解Linux的诞生,之后介绍了Linux相关文化和核心组成结构,以及Linux常用命令和基本用法,课程由浅入深,讲授方法受到98%学员一致好评!

    20503 人正在学习 去看看 马永亮

1.命令功能

2.语法格式

3.参数选项

2013-03-07 11:42:17 gaoyong3013 阅读数 97
  • Linux系列之走进Linux新世界

    本课程为全新马哥Linux全套系列课程之一--Linux基础入门和架构了解,从Linux起源,Linux架构和Linux形成历史开始逐步讲解,让你彻彻底底了解Linux的诞生,之后介绍了Linux相关文化和核心组成结构,以及Linux常用命令和基本用法,课程由浅入深,讲授方法受到98%学员一致好评!

    20503 人正在学习 去看看 马永亮

转载自http://www.linuxidc.com/Linux/2011-03/33582.htm
1:在命令行提示符执行top命令

2:输入大写P,则结果按CPU占用降序排序。输入大写M,结果按内存占用降序排序。(注:大写P可以在capslock状态输入p,或者按Shift+p)

另外:

认识top的显示结果

top命令的显示结果如下所示:

top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48 Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si Mem: 191272k total, 173656k used, 17616k free, 22052k buffers Swap: 192772k total, 0k used, 192772k free, 123988k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1379 root 16 0 7976 2456 1980 S 0.7 1.3 0:11.03 sshd 14704 root 16 0 2128 980 796 R 0.7 0.5 0:02.72 top 1 root 16 0 1992 632 544 S 0.0 0.3 0:00.90 init 2 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0 3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0统计信息区

前五行是系统整体的统计信息。第一行是任务队列信息,同 uptime 命令的执行结果。其内容如下:

01:06:48 当前时间
up 1:22 系统运行时间,格式为时:分
1 user 当前登录用户数
load average: 0.06, 0.60, 0.48 系统负载,即任务队列的平均长度。
三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下:

Tasks: 29 total 进程总数
1 running 正在运行的进程数
28 sleeping 睡眠的进程数
0 stopped 停止的进程数
0 zombie 僵尸进程数
Cpu(s): 0.3% us 用户空间占用CPU百分比
1.0% sy 内核空间占用CPU百分比
0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比
98.7% id 空闲CPU百分比
0.0% wa 等待输入输出的CPU时间百分比
0.0% hi  
0.0% si  

最后两行为内存信息。内容如下:

Mem: 191272k total 物理内存总量
173656k used 使用的物理内存总量
17616k free 空闲内存总量
22052k buffers 用作内核缓存的内存量
Swap: 192772k total 交换区总量
0k used 使用的交换区总量
192772k free 空闲交换区总量
123988k cached 缓冲的交换区总量。
内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,
该数值即为这些内容已存在于内存中的交换区的大小。
相应的内存再次被换出时可不必再对交换区写入。
进程信息区

统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。

序号 列名 含义
a PID 进程id
b PPID 父进程id
c RUSER Real user name
d UID 进程所有者的用户id
e USER 进程所有者的用户名
f GROUP 进程所有者的组名
g TTY 启动进程的终端名。不是从终端启动的进程则显示为 ?
h PR 优先级
i NI nice值。负值表示高优先级,正值表示低优先级
j P 最后使用的CPU,仅在多CPU环境下有意义
k %CPU 上次更新到现在的CPU时间占用百分比
l TIME 进程使用的CPU时间总计,单位秒
m TIME+ 进程使用的CPU时间总计,单位1/100秒
n %MEM 进程使用的物理内存百分比
o VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
p SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。
q RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
r CODE 可执行代码占用的物理内存大小,单位kb
s DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
t SHR 共享内存大小,单位kb
u nFLT 页面错误次数
v nDRT 最后一次写入到现在,被修改过的页面数。
w S 进程状态。
D=不可中断的睡眠状态
R=运行
S=睡眠
T=跟踪/停止
Z=僵尸进程
x COMMAND 命令名/命令行
y WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名
z Flags 任务标志,参考 sched.h

默认情况下仅显示比较重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通过下面的快捷键来更改显示内容。

更改显示内容

通过 键可以选择显示的内容。按 f 键之后会显示列的列表,按 a-z 即可显示或隐藏对应的列,最后按回车键确定。

按 o 键可以改变列的显示顺序。按小写的 a-z 可以将相应的列向右移动,而大写的 A-Z 可以将相应的列向左移动。最后按回车键确定。

按大写的 F 或 O 键,然后按 a-z 可以将进程按照相应的列进行排序。而大写的 R 键可以将当前的排序倒转。

linux top命令小结

阅读数 104

linux top命令小结

博文 来自: NFR413

Linux Top 命令

阅读数 255

Linux top

阅读数 226

linux top命令参数详细介绍

博文 来自: leyangjun
没有更多推荐了,返回首页