linux命令 top命令,linux命令top


前言
top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。并提供了互动界面,用。

语法

  top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]

选项
-b:分批次显示结果。每次刷新的时候,是以追加的形式,而不是覆盖。
-c:显示完整的命令。
例子:
top -c

-H:显示进程对应开了的线程信息,和-p/-P 配合使用。上面例子有包含。
-i :使top不显示如何闲置或者僵死进程。
-O:输出top可以输出的选项:

wuzm@ubuntu:~$ top -O 
PID
PPID
UID
USER
RUID
RUSER
SUID
SUSER
GID
GROUP
PGRP
TTY
TPGID
SID
PR
NI
nTH
P
%CPU
TIME
TIME+
%MEM
VIRT
SWAP
RES
CODE
DATA
SHR
nMaj
nMin
nDRT
S
COMMAND
WCHAN
Flags
CGROUPS
SUPGIDS
SUPGRPS
TGID
ENVIRON
vMj
vMn
USED
nsIPC
nsMNT
nsNET
nsPID
nsUSER
nsUTS

-s:使top在安全模式中运行,避免交互命令带来潜在的危险。
-S:指定累计模式。
-d secs:top交互模式刷新的时间间隔
-u|U user:只显示对应user开启的服务
-p pid(s):指定进程pid,只监控对应的服务
-o field:按照对应列排序。比如按照pid排序如下:
top -o
-w [col]: 暂时还不知道有什么用。。。

字段解析:

wuzm@ubuntu:~$ top -o PID -n 1

top - 23:45:38 up 20:35,  1 user,  load average: 0.27, 0.19, 0.13
Tasks: 227 total,   1 running, 226 sleeping,   0 stopped,   0 zombie
%Cpu(s): 11.0 us,  1.7 sy,  0.1 ni, 85.6 id,  0.5 wa,  0.0 hi,  1.2 si,  0.0 st
KiB Mem :  2018052 total,   108948 free,  1417864 used,   491240 buff/cache
KiB Swap:  1046524 total,   677372 free,   369152 used.   355252 avail Mem 

1、top - 23:45:38 【系统当前时间】
2、up 20:35 【系统以及运行了16天】
3、1 user 【1一个用户当前登录】
4、load average: 0.27, 0.19, 0.13 【系统辅助,任务队列平均长度,三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值】
5、Tasks: 227 total 【进程总数为227个】
6、1 running 【正在运行的进程个数为1】
7、226 sleeping 【正处于睡眠状态的进程个数为226】
8、0 stopped 【处于停止状态的进程个数为0】
9、0 zombie 【僵尸进程0个】
10、%Cpu(s): 11.0 us, 1.7 sy, 0.1 ni, 85.6 id, 0.5 wa, 0.0 hi, 1.2 si, 0.0 st

11.0% us, 用户空间占用CPU百分比
1.7% sy, 内核空间占用CPU百分比
0.1% ni, 用户进程空间内改变过优先级的进程占用CPU百分比
85.6% id, 空闲CPU百分比
0.5% wa,等待输入输出的CPU时间百分比
0.0% hi, 硬件CPU中断占用百分比
1.2% si,软中断占用百分比
0.0% st,虚拟机占用百分比

KiB Mem : 2018052 total, 108948 free, 1417864 used, 491240 buff/cache

单位均为KB
2018052 total, 物理内存总量
108948 free, 空闲内存总量
1417864 used, 使用的内存总量
491240 buff/cache, 用作内核缓存的内存量

KiB Swap: 1046524 total, 677372 free, 369152 used. 355252 avail Mem

单位均为KB
1046524 total,交换区总量
369152 used, 使用的交换区总量
677372 free, 空闲的交换区总量
355252 avail Mem,缓冲的交换区总量,内存重的内容被换出到交换区,而后又被换入到内存,但使用过的交换区中的交换区的大小,相应的内存再次被换出是可不用再对交换区写入。

显示部分字段解析:
* PID = Process Id nsUSER = USER namespace Inode
* USER = Effective User Name nsUTS = UTS namespace Inode
* 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

相关内容