linux(7)top命令详细解释
top命令
Linux top命令用于实时显示 process 的动态。
top参数详解

第一行,任务队列信息
- 系统当前时间:13:52:56
- 系统开机后到现在的总运行时间:up 66 days,8min
- 当前登录用户:2users
- 负载均衡(uptime) load average:0.50,0.42,0.36, average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了
第二行:任务进程信息
- total:系统全部进程的数量
- running:运行状态的进程数量
- sleeping:睡眠状态的进程数量
- stoped:停止状态的进程数量
- zombie:僵尸进程数量
第三行:CPU状态信息
- us:用户空间占用CPU百分比
- sy:内核空间占用CPU百分比
- ni:已调整优先级的用户进程的CPU百分比
id:空闲CPU百分比,越低说明CPU使用率越高- wa:等待IO完成的CPU百分比
- hi:处理硬件中断的占用CPU百分比
- si:处理软中断占用CPU百分比
- st:虚拟机占用CPU百分比
第四行:物理内存信息
- total:物理内存总量
- free:空闲内存总量
- used:使用中内存总量
- buff/cache:用于内核缓存的内存量
第五行:交换区内存信息
- total:交换区总量
- free:空闲交换区总量
- used:使用的交换区总量
- avail Mem:可用交换区总量
备注
对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,表示内核在不断进行内存和swap的数据交换,说明内存真的不够用了。
第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,
第四行中空闲内存总量(free)是内核还未纳入其管控范围的数量。
纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。
可用内存空间:free + buff + cache
第七行以下:进程列表
- PID:进程id
- USER:运行进程的用户
- PR:进程优先级
- NI:nice值。负值表示高优先级,正值表示低优先级
- VIRT:进程虚拟内存的大小,只要是进程申请过的内存,即便还没有真正分配物理内存,也会计算在内;VIRT=SWAP+RES (单位kb)
- RES:进程实际使用的物理内存大小,不包括 Swap 和共享内存。RES=CODE+DATA (单位kb)
- SHR:共享内存大小,比如与其他进程共同使用的共享内存、加载的动态链接库以及程序的代码段等
- S:进程状态
- R:运行状态
- S:睡眠状态
- D:不可中断的睡眠状态
- T:跟踪/停止
- Z:僵尸进程
- %CPU:CPU 使用率
- %MEM:进程使用物理内存占系统总内存的百分比
- TIME+:上次启动后至今的总运行时间
- COMMAND:命令名or命令行
追加说明
VIRT:virtual memory usage 虚拟内存
- 1.进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
- 2.假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量
RES:resident memory usage 常驻内存
- 1.进程当前使用的内存大小,但不包括swap out
- 2.包含其他进程的共享
- 3.如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
- 4.关于库占用内存的情况,它只统计加载的库文件所占内存大小
SHR:shared memory 共享内存
- 1.除了自身进程的共享内存,也包括其他进程的共享内存
- 2.虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
- 3.计算某个进程所占的物理内存大小公式:RES – SHR
- 4.swap out后,它将会降下来
top使用方法
查看所有进程的资源占用情况
top
监控每个逻辑CPU的状况
top ,按 1
高亮显示当前运行进程
top ,按 b
显示 完整命令
top ,按 c
切换显示CPU
top ,按 t
按CPU使用率从大到小排序
top ,按 P
切换显示Memory
top,按m
按Memory占用率从大到小排序
top,按M
按累计运行时间Time从大到小排序
top,按T
高亮CPU列
top,按x
彩色高亮显示
top,按z,按shift+z 可以调配色方案
通过”shift + >”或”shift + <”可以向右或左改变排序列
top shift + >或shift + <
忽略闲置和僵死进程,这是一个开关式命令
top,按i
杀掉进程
top,按k,输入PID
改变内存的显示单位,默认为KB
top,按e (针对列表)top,按E (针对头部统计信息)
退出top程序
按q
linux(7)top命令详细解释的更多相关文章
- linux下top命令详细介绍
linux下top命令详细介绍 top 命令是 Linux 下常用的系统资源占用查看及性能分析工具,能够实时显示系统中各个进程的资源(比如cpu.内存的使用)占用状况,top命令的执行结果是一个动态显 ...
- linux下top命令参数解释
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法. top - 01:06:48 up 1:22, 1 ...
- Linux学习笔记15——GDB 命令详细解释【转】
GDB 命令详细解释 Linux中包含有一个很有用的调试工具--gdb(GNU Debuger),它可以用来调试C和C++程序,功能不亚于Windows下的许多图形界面的调试工具. 和所有常用的调试工 ...
- Linux下top订购具体解释
Linux下top订购具体解释 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvempmMjgwNDQxNTg5/font/5a6L5L2T/fontsize ...
- linux中top命令详解
linux的top命令里的cpu信息是什么意思呢? Cpu(s): 62.1% us, 15.9% sy,0.1% ni, 19.4% id,2.0% wa,0.1% hi,0.4% si Mem: ...
- Linux下top命令详解
Linux下top命令详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不断刷 ...
- linux中top命令的用法
收集了两篇关于介绍Linux中监控命令top命令的详细使用方法的文章.总的来说,top命令主要用来查看Linux系统的各个进程和系统资源占用情况,在监控Linux系统性能方面top显得非常有用,下面就 ...
- Linux中systemctl命令详细介绍
Linux Systemctl是一个系统管理守护进程.工具和库的集合,用于取代System V.service和chkconfig命令,初始进程主要负责控制systemd系统和服务管理器.通过Syst ...
- Linux Load average负载详细解释
http://tianmaotalk.iteye.com/blog/1027970 Linux Load average负载详细解释 linux查看机器负载
随机推荐
- git版本回滚
本地版本回滚 git reset --hard <版本号> (git log 可查看版本号,版本号不用写全) 远程仓库版本回滚 先在本地将版本回滚 ,然后git push -f 强制提交
- IndexedDB详解
目录 简介 IndexedDB简介 IndexedDB的使用 IndexedDB的浏览器支持 创建IndexedDB indexdb中的CURD 使用游标cursor 简介 IndexedDB是一种在 ...
- 集成spring框架的web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" ...
- spring cloud gateway 日志打印
从api请求中获取访问的具体信息,是一个很常见的功能,这几天在研究springcloud,使用到了其中的gateway,刚好将研究的过程结果都记录下来 0. Version <parent> ...
- 【Oracle】regexp_substr()函数详解
环境:Oracle10.2.0.5 在SQL中尝试使用正则 可以试下regexp_substr()来进行分割 首先创建一个实验视图: SQL> create or replace view te ...
- 【ORA】ORA-00257 archiver error. 错误的处理方法
今天连接数据库,结果报错,ora-00257查看 [oracle@exam oracle]$ oerr ora 00257 00257, 00000, "archiver error. Co ...
- 使用 tke-autoscaling-placeholder 实现秒级弹性伸缩
背景 当 TKE 集群配置了节点池并启用了弹性伸缩,在节点资源不够时可以触发节点的自动扩容 (自动买机器并加入集群),但这个扩容流程需要一定的时间才能完成,在一些流量突高的场景,这个扩容速度可能会显得 ...
- USB2514集线器调试总结
一般的MCU不会留有太多的USB口,但在实际项目中又会遇到需要很多个USB口的情况,这时就会用到USB集线器来扩展USB口了.USB2514这个芯片是我在工作中用的比较多的,但是问题很多,从来没有调稳 ...
- 大数据系列2:Hdfs的读写操作
在前文大数据系列1:一文初识Hdfs中,我们对Hdfs有了简单的认识. 在本文中,我们将会简单的介绍一下Hdfs文件的读写流程,为后续追踪读写流程的源码做准备. Hdfs 架构 首先来个Hdfs的架构 ...
- 封装JSONP 函数,方便请求发送
封装JSONP 函数,方便请求发送 封装jsonp的代码和封装Ajax的代码非常的相似!可以参照食用偶! <button id="btn">点击我发送请求!</b ...