linux中的top命令详解
引言
top命令是UNIX/Linux系统中,用于查看系统详情的第一入口,一般我们查看机器运行状态的时候,总是第一个使用top命令,而实际上top命令展示的数据很多,对于新手来说这些其实并不友好。本文主要的目的就是做一个详细的梳理。
介绍(description)
top 程序提供了一个正在运行的系统的实时数据的展示。它可以展示的内容包含系统的基本信息,以及当前正在被linux内核管理的任务。这些系统的摘要信息的类型以及任务展示的类型,排序和大小都是用户可配置的,并且这些配置可以是持久化的,不受重启影响。
首行/基本信息
首行显示的内容从左到右分别为
- 当前的时间
- 系统累积以及运行的时间
- 当前登入用户的数量
- 当前的系统负载。
第二行/cpu信息
第二行主要显示进程和cpu的信息,注意在top命令中task指进程。第二行的信息依次为
- 进程总数
- 正常运行的进程数量
- 休眠的进程总数
- 停止的进程总数
- 僵死进程总数
- us用户进程占用cpu资源的百分比
- sy内核态进程占cpu资源的百分比
- ni用户进程空间内改变过优先级的进程占cpu资源的百分比
- id空闲cpu的百分比
- wa 等待输入输出的进程占cpu资源的百分比
- hi 硬中断占用的百分比
- si软中断占用的百分比
- st 虚拟机占用百分比
第三行/内存相关信息
mem
- 物理内存总量
- 使用的物理内存总量
- 空闲的物理内存总量
- 用在内核缓存的内存总量
swap
- 交换区内存总量
- 使用的交换区的总量
- 空闲的交换区总量
- 缓存的交换区总量。
进程信息
参看Linux中top的说明
- pid : Process Id进程id,这个是进程的唯一标识符。这个id,会被周期性地复写,但是不会从0开始。
- USER : User Name,生效用户名称
- pr : Priority 进程的优先级
- ni : Nice Value.优先级的值,负数表示优先级很高,正数表示优先级比较低。
- VIRT : 进程使用的虚拟内存的大小
- RES : Resident Size 驻留内存大小,指进程除去使用交换区swap的内存,使用的物理内存的大小
- SHR : Shared Mem size 进程共享内存的大小
- S : process status 进程状态 。 分别有D R S T Z ,分别表示【不可中断的休眠】【正在运行】【休眠中】【暂停或者跟踪状态】【僵死状态】,参考
- %cpu : cpu的使用量占总cpu时间的百分比
- %MES : 进程使用的内存量
- TIME : CPU TIME 任务从开始到现在使用的cpu的总时间。
- TIME + : CPU Time ,hundredths 更为细粒度更为精确的cpu耗时
- Command : Command line or Program name 命令或者进程名称