欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

top命令

程序员文章站 2022-07-09 15:44:04
@(Linux基础)[top命令] top命令 [TOC] 语法 top (选项) 选项 d: 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。 p: 通过指定监控进程ID来仅仅监控某个进程的状态。 q: 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限, ......

@(Linux基础)[top命令]
top命令
----
[TOC]

语法

top (选项)

选项

-d: 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
-p: 通过指定监控进程ID来仅仅监控某个进程的状态。
-q: 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
-S: 指定累计模式
-s: 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
-i: 使top不显示任何闲置或者僵死进程。
-c 显示整个命令行而不只是显示命令名 (比较好用)

top交互命令

在top命令执行过程中可以使用的一些交互命令。这些命令都是单字母的,如果在命令行中使用了-s选项, 其中一些命令可能会被屏蔽。

h:显示帮助画面,给出一些简短的命令总结说明;
k:终止一个进程;
i:忽略闲置和僵死进程,这是一个开关式命令;
q:退出程序;
r:重新安排一个进程的优先级别;
S:切换到累计模式;
s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
f或者F:从当前显示中添加或者删除项目;
o或者O:改变显示项目的顺序;
l:切换显示平均负载和启动时间信息;
m:切换显示内存信息;
t:切换显示进程和CPU状态信息;
c:切换显示命令名称和完整命令行;
M:根据驻留内存大小进行排序;
P:根据CPU使用百分比大小进行排序;
T:根据时间/累计时间进行排序;
w:将当前设置写入~/.toprc文件中。

实例

top - 09:44:56 up 16 days, 21:23,  1 user,  load average: 9.59, 4.75, 1.92
Tasks: 145 total,   2 running, 143 sleeping,   0 stopped,   0 zombie
Cpu(s): 99.8%us,  0.1%sy,  0.0%ni,  0.2%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   4147888k total,  2493092k used,  1654796k free,   158188k buffers
Swap:  5144568k total,       56k used,  5144512k free,  2013180k cached

解释

  • top - 09:44:56[当前系统时间],
  • 16 days[系统已经运行了16天],
  • 1 user[个用户当前登录],
  • load average: 9.59, 4.75, 1.92[系统负载,即任务队列的平均长度]
  • Tasks: 145 total[总进程数],
  • 2 running[正在运行的进程数],
  • 143 sleeping[睡眠的进程数],
  • 0 stopped[停止的进程数],
  • 0 zombie[冻结进程数],
  • Cpu(s): 99.8%us[用户空间占用CPU百分比],
  • 0.1%sy[内核空间占用CPU百分比],
  • 0.0%ni[用户进程空间内改变过优先级的进程占用CPU百分比],
  • 0.2%id[空闲CPU百分比], 0.0%wa[等待输入输出的CPU时间百分比],
  • 0.0%hi[],
  • 0.0%st[],
  • Mem: 4147888k total[物理内存总量],
  • 2493092k used[使用的物理内存总量],
  • 1654796k free[空闲内存总量],
  • 158188k buffers[用作内核缓存的内存量]
  • Swap: 5144568k total[交换区总量],
  • 56k used[使用的交换区总量],
  • 5144512k free[空闲交换区总量],
  • 2013180k 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进入,按空格进行编辑前边有星,按右建,选中上下移动,回车确定编辑