top命令和ps命令的基本作用是相同的,显示系统当前的进程和其他状况;但是top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止。 比较准确的说,top命令提供了实时的对系统处理器的状态监视。它将显示系统中CPU最“敏感”的任务列表。该命令可以按CPU使用。内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。在后面的介绍中将把命令参数和交互命令分开讲述。
下面是该命令的语法格式:
top [-] [d delay] [q] [c] [s] [S]
d 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
q 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
S 指定累计模式。
s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
i 使top不显示任何闲置或者僵死进程。
c 显示整个命令行而不只是显示命令名
top命令显示的项目很多,默认值是每5秒更新一次,当然这是可以设置的。
显示的各项目为: uptime 该项显示的是系统启动时间、已经运行的时间和三个平均负载值(最近1秒,5秒,15秒的负载值)。 processes 自最近一次刷新以来的运行进程总数。当然这些进程被分为正在运行的,休眠的,停止的等很多种类。进程和状态显示可以通过交互命令t来实现。
CPU states 显示用户模式,系统模式,优先级进程(只有优先级为负的列入考虑)和闲置等各种情况所占用CPU时间的百分比。优先级进程所消耗的时间也被列入到用户和系统的时间中,所以总的百分比将大于100%。
Mem 内存使用情况统计,其中包括总的可用内存,空闲内存,已用内存,共享内存和缓存所占内存的情况。
Swap 交换空间统计,其中包括总的交换空间,可用交换空间,已用交换空间。
PID 每个进程的ID。
PPID每个进程的父进程ID。
UID 每个进程所有者的UID 。
USER 每个进程所有者的用户名。
PRI 每个进程的优先级别。
NI 该进程的优先级值。
SIZE 该进程的代码大小加上数据大小再加上堆栈空间大小的总数。单位是KB。
TSIZE 该进程的代码大小。对于内核进程这是一个很奇怪的值。
DSIZE 数据和堆栈的大小。
TRS 文本驻留大小。
D 被标记为“不干净”的页项目。
LIB 使用的库页的大小。对于ELF进程没有作用。
RSS 该进程占用的物理内存的总数量,单位是KB。
SHARE 该进程使用共享内存的数量。
STAT 该进程的状态。
其中S代表休眠状态;
D代表不可中断的休眠状态;
R代表运行状态;
Z代表僵死状态;
T代表停止或跟踪状态。
TIME 该进程自启动以来所占用的总CPU时间。如果进入的是累计模式,那么该时间还包括这个进程子进程所占用的时间。且标题会变成CTIME。
%CPU 该进程自最近一次刷新以来所占用的CPU时间和总时间的百分比。
%MEM 该进程占用的物理内存占总内存的百分比。
COMMAND 该进程的命令名称,如果一行显示不下,则会进行截取。内存中的进程会有一个完整的命令行。
下面介绍在top命令执行过程中可以使用的一些交互命令。从使用角度来看,熟练的掌握这些命令比掌握选项还重要一些。这些命令都是单字母的,如果在命令行选项中使用了s选项,则可能其中一些命令会被屏蔽掉。
<空格> 立即刷新显示。
Ctrl+L 擦除并且重写屏幕。
h或者? 显示帮助画面,给出一些简短的命令总结说明。
k 终止一个进程。系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号。一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽。
i 忽略闲置和僵死进程。这是一个开关式命令。
q 退出程序。
r 重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。
S 切换到累计模式。
s 改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。
f或者F 从当前显示中添加或者删除项目。
o或者O 改变显示项目的顺序。
l 切换显示平均负载和启动时间信息。
m 切换显示内存信息。
t 切换显示进程和CPU状态信息。
c 切换显示命令名称和完整命令行。
M 根据驻留内存大小进行排序。
P 根据CPU使用百分比大小进行排序。
T 根据时间/累计时间进行排序。
W 将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。
从上面的介绍中可以看到,top命令是一个功能十分强大的监控系统的工具,尤其对于系统管理员而言更是如此。一般的用户可能会觉得ps命令其实就够用了,但是top命令的强劲功能确实提供了不少方便。下面来看看实际使用的情况。
[例23] 键入top命令查看系统状况
$ top
1:55pm up 7 min, 4 user, load average:0.07,0.09,0.06
29 processes:28 sleeping, 1 running, 0 zombie, 0 stopped
CPU states: 4.5% user, 3.6% system, 0.0% nice, 91.9% idle
Mem: 38916K av, 18564K used, 20352K free, 11660K shrd, 1220K buff
Swap: 33228K av, 0K used, 33228K free, 11820K cached
PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND
363 root 14 0 708 708 552 R 0 8.1 1.8 0:00 top
1 root 0 0 404 404 344 S 0 0.0 1.0 0:03 init
2 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 kflushd
3 root -12 -12 0 0 0 SW< 0 0.0 0.0 0:00 kswapd
4 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 md_thread
5 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 md_thread
312 root 1 0 636 636 488 S 0 0.0 1.6 0:00 telnet
285 root 6 0 1140 1140 804 S 0 0.0 2.9 0.00 bash
286 root 0 0 1048 1048 792 S 0 0.0 2.6 0.00 bash
25 root 0 0 364 364 312 S 0 0.0 0.9 0.00 kerneld
153 root 0 0 456 456 372 S 0 0.0 1.1 0.00 syslogd
160 root 0 0 552 552 344 S 0 0.0 1.4 0.00 klogd
169 daemon 0 0 416 416 340 S 0 0.0 1.0 0.00 atd
178 root 2 0 496 496 412 S 0 0.0 1.2 0.00 crond
187 bin 0 0 352 352 284 S 0 0.0 0.9 0.00 portmap
232 root 0 0 500 500 412 S 0 0.0 1.2 0.00 rpc.mountd
206 root 0 0 412 412 344 S 0 0.0 1.0 0.00 inetd
215 root 0 0 436 436 360 S 0 0.0 1.1 0.00 icmplog
第一行的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载。第二行为进程情况,依次为进程总数、休眠进程数、运行进程数、僵死进程数、终止进程数。第三行为CPU状态,依次为用户占用、系统占用、优先进程占用、闲置进程占用。第四行为内存状态,依次为平均可用内存、已用内存、空闲内存、共享内存、缓存使用内存。第五行为交换状态,依次为平均可用交换容量、已用容量、闲置容量、高速缓存容量。然后下面就是和ps相仿的各进程情况列表了。
❷ Linux中top命令输出指标详解
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top显示系统当前的进程和其他状况,是一个动态显示过程,可以自动或者通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.。比较准确的说,top命令提供了实时的对系统处理器的状态监控,显示系统中CPU最“敏感”的任务列表。top命令可以按CPU使用、内存使用和执行时间对任务进行排序。而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.。
下面详细介绍它的使用方法。
对于一个新手来说,如果从来没有使用过top命令,在命令行模式下直接输入top,可以查看到当前所有进程的信息。
输出结果中,有很多指标。下面介绍各个指标都代表什么含义。
top命令输出结果中,统计信息区前五行是系统整体的统计信息。
第一行是任务队列信息,同 uptime 命令的执行结果。其内容如下:
第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下:
最后两行为内存信息。内容如下:
进程信息区统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。
默认情况下仅显示比较重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通过下面的快捷键来更改显示内容。
参考列表:
❸ linux top命令是什么意思
top命令用于显示系统运行的进程信息,作用类似于windows中的任务管理器,只不过top不是图形化的,而是显示实时文本信息
统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
序号列名含义
PID 进程id
PPID 父进程id
RUSER Realusername
UID 进程所有者的用户id
USER 进程所有者的用户名
GROUP 进程所有者的组名
TTY 启动进程的终端名。不是从终端启动的进程则显示为?
PR 优先级
NInice 值。负值表示高优先级,正值表示低优先级
P 最后使用的CPU,仅在多CPU环境下有意义
%CPU 上次更新到现在的CPU时间占用百分比
TIME 进程使用的CPU时间总计,单位秒
TIME+ 进程使用的CPU时间总计,单位1/100秒
%MEM 进程使用的物理内存百分比
VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。
RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
CODE 可执行代码占用的物理内存大小,单位kb
DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
SHR 共享内存大小,单位kb
nFLT 页面错误次数
nDRT 最后一次写入到现在,被修改过的页面数。
S 进程状态。
D= 不可中断的睡眠状态
R= 运行
S= 睡眠
T= 跟踪/停止
Z= 僵尸进程
COMMAND 命令名/命令行
WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名
Flags 任务标志,参考sched.h
❹ linux怎样使用top命令查看系统状态
top命令用于监视进程的活动与系统负载,格式为:“top”。
这个top命令可真的是太厉害了,完全可以比喻成是“强化版的Windows任务管理器”,运行界面如下:
前面的五行为系统整体的统计信息,下面我们来逐行的讲解:
第1行:系统时间,运行时间,登陆用户数,系统负载(分别为1分钟、5分钟、15分钟的平均值)。
第2行:进程总数,运行中的,睡眠中的,停止的,僵尸的。
第3行:用户占用资源,系统内核占用资源,改变过优先级的进程,空闲的资源,等待输入输出的时间。
此行数据均为CPU数据并以百分比格式显示,例如"99.2
id"意味着有99.2%的CPU资源正在空闲中。
第4行:物理内存总量,使用量,空闲量,作为内核缓存的内存量。
第5行:虚拟内存总量,使用量,空闲量,已被提前加载的内存数据。
进程的信息区中包含了各个进程的详细信息,含义如下:
PID:进程ID号
USER:进程的所有者
PR:优先级
NI:优先级(负值表示优先级更高)
VIRT:虚拟内存使用量
RES:物理内存使用量
SHR:共享内存大小
S:进程状态(上文中有提到)
%CPU:运算器的使用百分比
%MEM:内存的使用百分比
TIME+:使用CPU的时间(单位是1/100秒)
COMMAND:命令名称
参考《linux就该这么学》第8章节
❺ ‘学了就忘’Linux系统管理 — 3.进程的查看(top命令)
top 命令是用来 动态显示 系统中进程的命令。
演示:
在 top 命令的交互模式当中可以执行的命令:
执行 top 命令查看结果:
top 命令的输出内容是动态的,默认每3秒刷新一次。
命令的输出主要分为两大部分:
第二部分输出的内容,主要是系统进程信息。
这部分和ps命令的输出比较类似,只是如果在终端中执行top命令,不能看到所有的进程,默认是按cpu的占用率排序的,所以默认只能看到cpu占比靠前的进程。
例如:
进入到 top 命令的交互界面,按“k”键,会提示输入要杀死进程的PID。
按两次回车就可以杀死进程指定进程。(这种杀掉进程的方式不常用)
下面我们以xinetd进程为例:
按两次回车吗,xinetd进程被kill掉了,等待3秒刷新。
如果在操作终端执行 top 命令,并不能看到系统中所有的进程,默认看到的只是CPU占比靠前的进程。如果我们想要看到所有的进程,可以把 top 命令的结果重定向到文件当中即可。
不过 top 命令是持续运行的,这时就需要 -b 和 -n 选项了,具体命令如下:
❻ Linux运维工程师必知:如何根据内存使用情况对 top 命令进行排序
作为 Linux 用户,您无法避免使用 top 命令,这个简单的命令列出了所有正在运行的系统进程。
它 每三秒 刷新一次统计数据,让您感觉持续监控进程。
默认情况下,top 命令的输出 按 CPU 消耗排序 ,这意味着您会看到消耗最多 CPU 的进程位于命令的顶部。
但是,如果您想查看消耗最多 RAM 的进程怎么办?您可以根据内存使用情况而不是 CPU 消耗对 top 命令进行排序。
这很简单。
第 1 步 :照常运行 top 命令。
第 2 步 :按Shift+M,按内存排序top命令输出,它将立即开始显示使用最多内存的进程。
但这不是永久性的改变,下次运行 top 命令时,它将再次按 CPU 使用率排序。
Shift+M 键盘快捷键对于检查每个进程的内存使用情况非常方便,但是,如果您想在虚拟内存、花费的时间、共享内存等其他字段上对 top 命令进行排序,则可以使用 top 命令的交互模式。
第 1 步 :当然,运行 top 命令。
第 2 步 :按Shift+F进入交互模式。
第 3 步 :使用箭头键选择不同的参数,如 %MEM、TIME、VIRT 等,当您在所需参数处时,按 S 对其进行排序。
您可以在右上角看到当前的排序字段,按 Esc 或 Q退出交互模式,现在顶部命令输出将按您选择的字段排序。
这很方便,对吧?不幸的是,top 命令虽然非常强大,很多人不知道如何正确有效地使用它。
❼ 常用命令之TOP
android中TOP命令用于查看当前CPU负载、内存占用、进程信息等。
第一行 ,进程信息:
系统现在共有668个进程,其中处于运行中的有1个,665个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有2个。
第二行 ,内存信息:
物理内存总量:3.5G
使用中的内存:3.1G
空闲的内存:466M
缓存的内存:96M
第三行 ,交御陪换分区,android中指ZRAM:
交换分区总量:2G
使用中的交换区:455M
空闲的交换区总量:1.5G
缓冲的交换区:1.4G
第四行 ,CPU状态信息:
800%cpu
5%user - 用户进程占用cpu的百分比
0%nice - 优先值为负的进程所占用的CPU时间
7%sys - 系统进程占用cpu的百分比
788%idle - 空闲cpu百分比
1%iow - IO等待时间凯拆尺
0%irq - 硬中断时间
0%sirq - 软中断时间
0%host -
第五行 ,各进程状态监控:
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,RES=CODE+DATA
SHR — 共享内存大小
S — 进程状盯高态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
ARGS — 进程名称(命令名/命令行)
❽ “linux top命令”是什么意思
top命令用于显示系统运行的进程信息,作用类似于windows中的任务管理器,只不过top不是图形化的,而是显示实时文本信息x0dx0ax0dx0a统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。x0dx0aPID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMANDx0dx0a序号列名含义x0dx0aPID 进程idx0dx0aPPID 父进程idx0dx0aRUSER Realusernamex0dx0aUID 进程所有者的用户idx0dx0aUSER 进程所有者的用户名x0dx0aGROUP 进程所有者的组名x0dx0aTTY 启动进程的终端名。不是从终端启动的进程则显示为?x0dx0aPR 优先级x0dx0aNInice 值。负值表示高优先级,正值表示低优先级x0dx0aP 最后使用的CPU,仅在多CPU环境下有意义x0dx0a%CPU 上次更新到现在的CPU时间占用百分比x0dx0aTIME 进程使用的CPU时间总计,单位秒x0dx0aTIME+ 进程使用的CPU时间总计,单位1/谨激100秒x0dx0a%MEM 进程使用的物理内存百分比x0dx0aVIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RESx0dx0aSWAP 进程使用的虚拟内存中,被换出的大小,单位kb。x0dx0aRES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATAx0dx0aCODE 可执行代码占用的物理内存大小,单位kbx0dx0aDATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小乎卜,单位kbx0dx0aSHR 共享内存大小,单位kbx0dx0anFLT 页面错误次数x0dx0anDRT 最后一次写入到现在,被修改过的页面数。x0dx0aS 进程状态。x0dx0aD= 不可中断的睡眠状态x0dx0aR= 运行x0dx0aS= 睡眠x0dx0aT= 跟踪/停止x0dx0aZ= 僵尸进程x0dx0aCOMMAND 命令名/祥顷袜命令行x0dx0aWCHAN 若该进程在睡眠,则显示睡眠中的系统函数名x0dx0aFlags 任务标志,参考sched.h
❾ 怎样用top命令查看所有进程
在linux下可以通过top命令来查系统运行状态和进程运行状态,通过man查看top手册,top的解释是display Linux tasks,以前看到过一个另外的解释display top CPU processes,这个我觉得挺贴切的,因为top这个命令会自动把消耗高的进慎迅迟程排到前面,真的很形象。
1、命令说明
top 参数
-h:help表示显示帮助的意思
-v:version显示版本的意思,和-h的功能一样
-u:user显示指定用户的进程,例如:top -u root
-p:pid显示指定进程,例如:top -p 1
-n:number进入top后,top会定时刷新状态,这个值就是设置刷新几次
-d:delay进入top后,top会定时刷新状态,这个值就是设置几秒刷新一次
-b:Batch mode,top刷新状态默认是在原数据上刷新,使用这个参数后,会一屏一屏的显示数据。结合重定向功能和计划任务,这个参数在记录服务器运行状态时非常有用。
以上一些参数是在输入命令时提供的参数,在top运行的过程中,还可以输入一些快捷键来调整显示内容。
一些命令运行时的快捷键说明:
q:quit退出程序
M:Memory按照内存使用量排序
P:CPU按照cpu使用量排序
k:kill杀死PID的进程,不输入PID,直接按回车就会退出
1:能显示CPU每个核心的情况
h或者?:help 查看更多快捷键
f:fields查看进程表头字段含义
2、命令测试
top
top命令测试
第一行说明:
top – :系统当前时间
up:服务器连续运行的时间,笔者见过有服务器连续运行一年以上,linux服务器还是非常稳定的。
user:当前有多少用户登录系统
load average:这个边有3个数值分别表示系统在前1分钟,5分钟,15分钟的工作负载,根据笔者以往的经验来看单核负载在3-5之间比较合适,经常在1以下,说明cpu利用率不高,在5以上,cpu会处于较高负载状态,会容易宕机。有一次项目上线,晚上加班观察服务器状况,这个值长时间保持在72左右,因为服务器有八核,所以每核的值为9,后来服务器就挂了。
第二行就是显示任务的数量情况,其中zombie要注意一下,这个是表示僵尸进程,出现了僵尸进程要注意下僵尸进程是如何产生的。如果不找到产生原因,即使杀死了,可能也会再次出现。
第三行表示cpu的运行情况,按下1可以显示每个核的运行情况。
第四行表示内存memory的使用情况。
第五行表示交换空间swap的使用情况。
下面显示的就是进程的运行状态了。每个表头表示的含义如下:
PID:进程编号
USER:进程所属用户
PR/NI:Priority/Nice value进程执行的优先顺序
VIRT:Virtual Image (kb) 虚拟内存使用总额
RES:Resident size (kb) 常驻内存
SHR:Shared Mem size (kb) 共享内存
S:Process Status 进程状态
%CPU:cpu使用率
%MEM:内存使用率
TIME+:进程开始运行时使用cpu的总时间
COMMAND:进程运行的命令
在top状态下按f可以查看表头字段说明。
3、常用的命令:
top -b -n 60 -d 60 > /home/cpu.txt
该命令每隔60秒会将服务器运行状宽李态保存到一个文本文件,昌好共运行60次,其实就是将服务器1个小时的运行状态保存起来。使用这个命令,可以记录服务器在繁忙时的负载情况,例如设置到晚上8点到9点之间,这样就可以根据服务器状态作出调整,而不是等服务器挂了才来处理。上面命令各参数,大家可以根据自己需要修改。终于不用加班蹲点观察服务器了。
❿ Top命令中显示的进程状态
top命名中S 列(也就是 Status 列慎雹)表示进程的状态。
R 是 Running 或 Runnable 的缩写,表示进程在 CPU 的就绪队列中,正在运行或者正在等待运行。
D 是 Disk Sleep 的缩写,也就是不可中断状态睡眠喊蠢(Uninterruptible Sleep),一般表示进程正在跟硬件交互,为了保护进程数据与硬件一致,系统不允许被其他进程中断打断。
Z 是 Zombie 的缩写,如果你玩过“植物大战僵尸”这款游戏,应该知道它的意思。它表示僵尸进程,也就是进程实际上已经结束了,但是父进程还没有回收它的资源(比如进程的描述符、PID 等)。
S 是 Interruptible Sleep 的缩写,也就是可中断状态睡眠,表示进程因为等待某个事件而被系统挂起。当进程等待的事件发生时,它会被唤醒并进入 R 状态。
I 是 Idle 的缩写,也就是空闲状态,用在不可中断睡眠的内核线程上。前面说了,硬件交互导致的不可中断进程用 D 表示,但对某些内核线程来说,它们有可能实际上并没有任何负载,用 Idle 正是为了区分这种情况。要注意,D 状态的进程会导致平均负载升高, I 状态的进程却不会。
T 或者 t ,也就是 Stopped 或 Traced 的缩写,表示进程处于暂停宽渗帆或者跟踪状态。向一个进程发送 SIGSTOP 信号,它就会因响应这个信号变成暂停状态(Stopped)。而当用调试器(如 gdb)调试一个进程时,在使用断点中断进程后,进程就会变成跟踪状态,这其实也是一种特殊的暂停状态,只不过你可以用调试器来跟踪并按需要控制进程的运行。
X 是 Dead 的缩写,表示进程已经消亡,所以你不会在 top 或者 ps 命令中看到它。