Linux的top命令解析

Top命令是什么

TOP命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况。

TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最"敏感"的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.

一. 统计信息区

统计信息区前五行是系统整体的统计信息。

第一行是任务队列信息

同 uptime 命令的执行结果:

root@localhost \~\]# uptime 13:22:30 up 8 min, 4 users, load average: 0.14, 0.38, 0.25 其内容如下: 12:38:33 当前时间 up 50days 系统运行时间,格式为时:分 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 缓冲的交换区总量。 内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖, 该数值即为这些内容已存在于内存中的交换区的大小。相应的内存再次被换出时可不必再对交换区写入。 **二. 进程信息区** 统计信息区域的下方显示了各个进程的详细信息。我们来认识一下各列的含义: 1.列信息 列名 含义 PID 进程id PPID 父进程id RUSER Real user name UID 进程所有者的用户id USER 进程所有者的用户名 GROUP 进程所有者的组名 TTY 启动进程的终端名。不是从终端启动的进程则显示为 ? PR 优先级 NI nice值。负值表示高优先级,正值表示低优先级 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 2.用快捷键更改显示内容 h或者? : 显示帮助画面,给出一些简短的命令总结说明。 k :终止一个进程。系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号。一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽。 i:忽略闲置和僵死进程。这是一个开关式命令。 q: 退出程序。 r: 重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。 S:切换到累计模式。 s : 改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。 f或者F :从当前显示中添加或者删除项目。 o或者O :改变显示项目的顺序。 l: 切换显示平均负载和启动时间信息。即显示影藏第一行 m: 切换显示内存信息。即显示影藏内存行 t : 切换显示进程和CPU状态信息。即显示影藏CPU行 c: 切换显示命令名称和完整命令行。 显示完整的命令。 这个功能很有用。 M : 根据驻留内存大小进行排序。 P:根据CPU使用百分比大小进行排序。 T: 根据时间/累计时间进行排序。 W: 将当前设置写入\~/.toprc文件中。这是写top配置文件的推荐方法。 z:改变显示的颜色 **最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:** #### ![](https://file.jishuzhan.net/article/1767468619115008001/ae67a38bdc3e799ed7359c5722c31b3d.webp) 这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! ![](https://file.jishuzhan.net/article/1767468619115008001/0cd527a45d9670ccf5408a1cf2333eb6.webp)

相关推荐
夕泠爱吃糖3 分钟前
Linux中的静态库和动态库
linux·运维·服务器
Vic1010110 分钟前
Java 开发笔记:多线程查询逻辑的抽象与优化
java·服务器·笔记
比奥利奥还傲.1 小时前
Linux运维安全新范式:基于TCPIP与SSH密钥的无密码认证实战
linux·运维·安全
moppol2 小时前
探索下一代云存储技术:对象存储、文件存储与块存储的区别与选择
服务器
mmsx2 小时前
使用git生成ssh的ed25519密钥
运维·git·ssh
ZeroNews内网穿透2 小时前
服装零售企业跨区域运营难题破解方案
java·大数据·运维·服务器·数据库·tcp/ip·零售
果子⌂2 小时前
容器技术入门之Docker环境部署
linux·运维·docker
神的孩子都在歌唱3 小时前
常见的网络攻击方式及防御措施
运维·服务器·网络
深度学习04073 小时前
【Linux服务器】-安装ftp与sftp服务
linux·运维·服务器
大刘讲IT4 小时前
精益管理与数字化转型的融合:中小制造企业降本增效的双重引擎
经验分享·程序人生·制造·传媒·零售·交通物流