Chinaunix首页 | 论坛 | 博客
  • 博客访问: 125809
  • 博文数量: 6
  • 博客积分: 125
  • 博客等级: 入伍新兵
  • 技术积分: 80
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-11 00:07
个人简介

追寻,一直在追寻属于自己的那份inner peace。

文章分类

全部博文(6)

文章存档

2013年(3)

2012年(3)

我的朋友

分类: LINUX

2013-11-18 00:22:47

top - display Linux processes
top命令、ps命令和/proc目录是很要好的三兄弟。
top为我们展示运行中操作系统的实时视图。通过top,可以实时查看Linux中进程、线程的内存、CPU使用情况、优先级信息等。top的简单视图如下图1所示。
第一行显示当前时间、系统运行时间、登入的用户数(???为什么只有我一个用户还是3个users)、系统平均负载(最近1分钟、最近5分钟、最近15分钟,值越大说明负载越高。???怎么计算平均负载的。据说通常如果系统的负载值超过2,就说明系统比较繁忙了)。
第二行显示概要的进程信息。当前任务总数,多少进程处于运行、睡眠、停止或者僵化状态。zombie指的是进程结束了,但是父进程没响应。
第三行显示CPU信息,top根据进程的属主和状态将CPU利用率分为几类输出。???us、sy指用户和系统,ni、wa、hi、si、st各指什么?
紧跟CPU的两行显示内存状态。Mem指物理内存,Swap指系统交换空间。???total = used + free,buffers指的是什么?
指下来的一行用于输入交互命令,紧跟着的是进程详细列表。

图1 top概况
列信息说明:带*号的为默认显示,默认以CPU使用率排序。列信息说明如表1所示。
表1 top列信息说明
序号 列名 全称 描述
*1 PID Process Id
*2 USER Effective User Name
*3 PR Priority 任务调度的优先级,不知道算的值。如果显示rt,说明进程正处于实时调度的优先级。Linux必没有实现真实的实时,只能算逼真的伪实时。???和NI有什么关系?
*4 NI Nice Value -20 ~ 20,值越小优先级越高。
*5 VIRT Virtual Image(KiB) 任务使用的虚拟内存总量。指所有被换出或被映射但是仍未被使用的页。包含指令、数据和动态链接库。
*6 RES Resident Size(KiB) 任务使用的物理内存总量。(The non-swapped physical memory a task has used)
*7 SHR Shared Memory 任务可用的共享内存总量,并不一定全是物理内存,只是简单反应任务与其他进程潜在的共享内存总量
*8 S Process Status D - uninterruptibale sleep(???),R - running,S - sleeping,T - traced or stopped(???),Z - zombie
*9 %CPU CPU Usage 任务从上次top屏幕更新之后到现在为止的CPU使用率。在对称多处理器环境中,如果关闭Irix模式,则top运行在Solari模式,在这个模式下 a task's cpu usage will be divided by the total number of CPUs,top中使用大写I切换。
*10 %MEM Memory Usage (RES) 任务当前的物理内存使用率(RES)
*11 TIME+ CPU Time, hundredths 和TIME一样,不过精度达到百分之一秒。
*12 COMMAND Command Name/Line 显示命令行启动任务时的命令或者对应程序的名字。使用小写c进行切换command line和name。
13 PPID Parent Process pid
14 xUID、xUSER ??? UID/USER, Effective user; RUID/RUSER, Real user; SUID/SUSER Saved User
15 xGID、xGROUP、xGRP ??? GID/GROUP; PGRP, Process Group ID; TPGID, Tty Process Grp ID; SID, Session ID; CGROUP, control Groups; SUPGIDS, supp Groups ID, SUPGRPS, supp groups names; TGID, thread group id
16 TTY Controlling tty 终端名,通常是进程启动时所用的设备,如串口、pty等。任务并不一定要属于某个终端,用'?'表示
17 nTH Number of Threads
18 P Last Used CPU(SMP)
19 TIME CPU TIME 另见TIME+。任务启动到现在所占用的CPU时间。如果Cumulative模式有打开,则显示任务自己以及其已死子进程(???含线程吗,或者线程在Linux中的概念就是进程)。通过大写S在top上切换。
20 SWAP Swapped Size(KiB) The non-resident portion of a task's address space. ???和VIRT有什么区别?
21 CODE Code Size(KiB) 物理内存中,用于执行的指令大小。也称为text resident set size或TRS
22 DATA Data + Stack Size(KiB) 类似CODE,也称为data resident set size或DRS
23 nDRT/nMaj/nMin
Dirty Pages Count(Page被改写,但是未写入外存),nMaj - Major Page Fault Count,nMin - Minor Page Fault count
24 WCHAN Sleeping in Functioin 显示任务中正在睡眠的内核函数名或地址,受限于是否支持kernel link map(System.map)。这个列的宽度不是固定的。
25 FLAGs Task Flags 显示任务的调度标志,使用16进制表示,0表示对应的标志被清除。这些标志位的定义在

接下来简述top的命令参数和交互命令。
(to be continued)

阅读(1866) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~