Linux 命令(9)—— top

这篇具有很好参考价值的文章主要介绍了Linux 命令(9)—— top。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章来源地址https://www.toymoban.com/news/detail-719501.html

1、命令简介

top提供运行系统的动态实时视图。它可以显示系统摘要信息以及当前由Linux内核管理的任务列表。所显示的系统摘要信息的类型以及为任务显示的信息的类型、顺序和大小都是用户可配置的,并且可以在重新启动期间使配置持久。

2、使用方法

top -hv | -bcEHiOSs1 -d secs -n max -u|U user -p pid(s) -o field -w [cols]

小插曲:如果只想查看某些进程的top信息,按进程名筛选,可以使用以下命令:

## 使用top刷新所有带'rcu'的进程
top -p `pgrep -d ',' -f rcu`

3、命令行参数

## 常用选项
-p pid   ## 只显示pid进程及其子进程的信息。监视多个则为 -p N1,N2,N3...
-u user  ## 只显示user用户启动的进程。
-d secs  ## 设置显示更新时间间隔为secs秒。默认为3秒。当然用户可以使用s交互命令来改变之。
-1       ## 列出所有CPU的摘要信息。
-H       ## 多线程模式,按线程划分每行。当然用户可以使用H交互命令来改变之。

-n count ## 设置显示次数为count次,然后退出。
-c       ## 显示完整的命令行,而不截断。
-q       ## 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
-S       ## 累积模式,连续显示多次更新结果。
-s       ## 安全模式,这将去除交互命令所带来的潜在危险。
-i       ## 忽略空闲和僵死进程。
-b       ## 以批处理模式操作,启动后不显示交互命令提示符,方便将结果输出到其它程序或文件。

4、显示摘要

top - 16:29:43 up  2:35,  7 users,  load average: 0.95, 0.88, 0.70
Tasks: 315 total,   3 running, 310 sleeping,   0 stopped,   2 zombie
%Cpu0  :  2.4 us,  1.4 sy,  0.0 ni, 95.8 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
%Cpu1  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu4  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu5  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu6  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu7  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  15847.3 total,  12950.4 free,   1328.2 used,   1568.7 buff/cache
MiB Swap:   8012.0 total,   8012.0 free,      0.0 used.  14311.7 avail Mem

## 1、运行时间与负载均衡
## 16:29:43:    系统时间 
## up:           运行时间
## users:       当前登录用户数量
## load average: 5分钟、10分钟、15分钟负载平均值。load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

## 2、任务状态与CPU状态,在多核环境中,CPU状态可划分多行
## Tasks:    总进程数或总线程数,取决于是否开启线程模式
## running:  运行进程数
## sleeping:休眠进程数
## stopped:  停止进程数
## zombie:   僵尸进程数
## us:      user,用户空间占用CPU的百分比
## sy:       system,内核空间百分比
## ni:       nice,改变过优先级的进程占用CPU的百分比
## id:       idle,空闲百分比
## wa:       IO-wait,IO等待百分比
## hi:       硬中断百分比
## si:       软中断百分比
## st:       当前虚拟机中的cpu周期被物理机中的实例偷走的比例。

## 3、内存使用情况,默认Mb为单位,交互命令按E切换单位,交换空间使用变动证明内存已不足使用。
## total:       总内存
## free:        剩余内存
## used:       已用内存
## buff/cache: 缓冲与缓存

5、进程列表字段


linux top,linux 命令,top,linux命令

字段 说明
PID 进程id
USER 进程所有者
PR 动态优先级
NI nice值,静态优先级
VIRT (Virtual Memory Size,KB) 进程使用的虚拟内存大小,包括进程的代码、数据、共享库和映射文件等。VIRT=SWAP+RES
RES (Resident Memory Size,KB) 翻译是“驻留集大小”,实际是指进程占用的物理内存大小。RES=CODE+DATA
SHR 共享内存大小,单位kb
S 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=停止 t=调试跟踪 Z=僵尸进程
%CPU 上次更新到现在的CPU时间占用百分比
%MEM 进程使用的物理内存百分比
TIME+ 进程使用的CPU时间总计,单位1/100秒
COMMAND 进程名称(命令名/命令行)
PPID Parent Process pid,父进程id
UID Effective User Id,有效用户id,进程的创建者
RUID Real User Id,实际用户id,当前登录者
RUSER Real User Name
SUID Saved User Id,设置用户id,用于对外权限的开放,跟文件绑定。
SUSER Saved User Name
GID Group Id
GROUP Group Name
PGRP Process Group Id
TTY Controlling Tty,控制终端
TPGID Tty Process Grp Id
SID Session Id
nTH Number of Threads,线程数量
P Last Used Cpu (SMP)
TIME CPU Time,累积CPU用时
SWAP Swapped Size (KiB),交换空间大小
CODE Code Size (KiB),代码段所占内存大小
DATA Data + Stack Size (KiB),数据段所占内存大小
nMaj Major Page Faults
nMin Minor Page Faults
nDRT Dirty Pages Count
WCHAN Sleeping in Function
Flags Task Flags <sched.h>,任务标志
CGROUPS Control Groups
SUPGIDS Supp Groups IDs
SUPGRPS Supp Groups Names
TGID Thread Group Id
ENVIRON Environment variables,进程环境变量
vMj Major Faults delta
vMn Minor Faults delta
USED Res+Swap Size (KiB),已使用的非交换物理内存
nsIPC IPC namespace Inode
nsMNT MNT namespace Inode
nsNET NET namespace Inode
nsPID PID namespace Inode
nsUSER USER namespace Inode
nsUTS UTS namespace Inode

详解

PR: Priority 动态优先级
1、priority的值在内核的调度器上表现是会变化的,所以也叫做动态优先级,是进程内核态的一个概念
2、范围从0到139。值越小,优先级越高,越容易被调度器执行。0-99,实时进程(rt)优先级范围。100-139,非实时进程
3、取值rt表示实时进程

NI: Nice Value 优先值、静态优先级
1、nice值也叫做静态优先级,是一个进程用户态的一个概念,除非我们用renice去改它,否则它是不变的。通过NI来影响PR
2、取值范围是-20至19,一共40个级别。负值表示高优先级,正值表示低优先级
3、设置nice值的命令有:nice -n 10 bash ## 启动并设置nice值renice 10 -p pid ## 重新调整进程nice值

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后,它将会降下来

DATA
1、真正的该程序要求的数据空间,是真正在运行中要使用的。

6、交互命令

a、全局命令

全局交互命令始终可以在全屏模式和交替显示模式下使用。但是,在安全模式下运行时,这些交互命令中有些是不可用的。如果想知道是否进入了安全模式,请求帮助并查看第二行的系统摘要。

命令 说明
Enter | Space 刷新显示
? | h 帮助
= 移除显示哪些任务的限制。
0 切换是否显示0值
A 选择显示开关,可以分开显示每个CPU的视图
B 粗体切换
* d | s 改变延迟时间间隔
E Extend-Memory-Scale in Summary Area,切换摘要区域内存显示单位
e Extend-Memory-Scale in Task Windows,切换任务区别内存显示单位
g Choose-Another-Window,选择其它显示窗口,在用A后才能使用
H Threads-mode,多线程显示开关
I Irix/Solaris-Mode,在Solaris模式下操作时,任务的CPU使用量将除以CPU总数
* k Kill-a-task,输入PID后发送kill信号
q 退出
* r Renice-a-Task,调整任务nice值,要求输入PID
W 写入配置文件,再次启动top保存当前设置。
X Extra-Fixed-Width,将一些字段的显示宽度固定
Y Inspect-Other-Output
Z Change-Color-Mapping,改变当前窗口颜色映射
* 以星号显示的命令在安全模式中不可用,也不会显示在第1级帮助屏幕上。

示例:按A打开多个CPU窗口,按g选择其它窗口,按Z改变对应窗口颜色,按esc回到主界面

linux top,linux 命令,top,linux命令

b、摘要区域命令

摘要区域交互命令始终可以在全屏模式和选择显示模式下使用。它们会影响显示的起始行,并将决定消息和提示的位置。这些命令总是只影响当前窗口。

命令 说明
C Show-scroll-coordinates,显示流动坐标轴,y表示多少行,x表示多少列
l 切换负载平均/正常运行时间显示
t 切换内存/交换使用显示
m 切换任务/CPU状态显示
1 切换单独CPU状态显示
2 NUMA-Nodes/Cpu-Summary toggle
3 Expand-NUMA-Node

示例:按l关闭负载均衡显示,按1显示所有CPU状态,按m关闭内存信息显示,按C显示坐标信息

linux top,linux 命令,top,linux命令

c、任务区域命令

任务区域交互命令总是在全屏模式下可用。如果当前窗口的任务显示已关闭,则交互命令是不可用的。

命令 说明
任务窗口的外观
J Justify-Numeric-Columns toggle,对齐数字列
j Justify-Character-Columns toggle,对齐字符列
b 粗体切换
x 列高亮切换,某些终端程序高亮不明显。
y 行高亮切换
z 多色/单色切换
任务窗口内容
c 命令行/程序名称切换
f | F 字段选择或排序字段
o | O Other-Filtering
S 累积时间模式开关
u | U 只显示特定用户
V Forest-View-Mode toggle,森林视图模式,根据父进程显示进程树
任务窗口大小
i Idle-Process,是否显示空闲进程
n | # Set-Maximum-Tasks,设置显示最大任务数
任务窗口排序
< 左移排序字段,将排序列移到左侧,除非当前排序字段是要显示的第一个字段。
> 右移排序字段,将排序列移到右侧,除非当前排序字段是显示的最后一个字段。
f | F Fields-Management,显示一个单独的屏幕选择字段
R Reverse/Normal-Sort-Field,反向/正常排序字段切换
可选窗口模式
- | _ 显示或者隐藏窗口
* = | + 均衡化_(再平衡)窗口
* A 可选窗口模式开关
* a | w 窗口上下选择
* G 选择另一个窗口/字段组
* g 更改窗口/字段组名称
* 使用星号的交互式命令已经超出了可选窗口模式。

示例:按f选择PID,按s选择为排序字段,按esc回到主界面,按R让排序倒序

linux top,linux 命令,top,linux命令

d、颜色映射

按Z时,将显示一个单独的屏幕。该屏幕可以用来在当前窗口或所有四个窗口中更改颜色,然后再按esc返回到顶部显示。

命令 说明
应用并退出
q 放弃当前的变化并退出

示例:按Z选择颜色映射为红色

linux top,linux 命令,top,linux命令

e、可选显示窗口

摘要区域交互命令始终可以在全屏模式和选择显示模式下使用。它们会影响显示的起始行,并将决定消息和提示的位置。这些命令总是只影响当前窗口。

命令 说明
- | _ 显示或者隐藏窗口
* = | + 均衡化_(再平衡)窗口
* A 可选窗口模式开关
* a | w 窗口上下选择
* G 选择另一个窗口/字段组
* g 更改窗口/字段组名称
* 使用星号的交互式命令已经超出了可选窗口模式。

示例:按A开启可选窗口,按a切换窗口,按-隐藏2、3窗口

linux top,linux 命令,top,linux命令

7、配置文件

a、系统配置文件

## 系统配置文件不是由top创建的。相反,您可以手动创建这个文件,并将其放在/etc目录中。
cat /etc/toprc
s        # line 1: secure mode switch
5.0      # line 2: delay interval in seconds

b、个人配置文件

## 这个文件被写成’$HOME/.your-name-4-top’+’rc’。
## 使用‘W’交互式命令创建或更新它。如果$HOME变量不存在,top将根据权限尝试将个人配置文件写入当前目录。
cat `$HOME/.your-name-4-top' + `rc'
global   # line  1: the program name/alias notation
  "      # line  2: id,altscr,irixps,delay,curwin
per ea   # line  a: winname,fieldscur
window   # line  b: winflags,sortindx,maxtasks,graph modes
  "      # line  c: summclr,msgsclr,headclr,taskclr
global   # line 15: additional miscellaneous settings
  "      # any remaining lines are devoted to the
  "      # generalized inspect provisions
  "      # discussed below

到了这里,关于Linux 命令(9)—— top的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux -- 查看进程 top命令 详解

    我们上篇介绍了, Linux 中的进程等概念,那么,在Linux 中如何查看进程呢 ?? 我们常用到的有两个命令, PS 和 top 两个命令,今天先来介绍下 top 命令~! 主要是 交互式的,动态 的显示 进程信息~!!! 语法 : top [ -d 数字 ] [ 选项 ] 选项 : -d : 后面可以接秒数,就是整个

    2024年02月07日
    浏览(35)
  • Linux - top命令详解(监视进程和Linux整体性能)

    top :运行基本top命令,显示所有进程信息,5秒刷新一次,根据使用占比%CPU排序 top -c :显示整个命令行而不是整个命令名 top -d secs :表示进程界面更新时间(默认5秒) top -n max :循环显示的次数 top -u|U user :指定用户名信息 top -p pid(s) :查看指定进程信息 top -b :批次档模

    2024年02月16日
    浏览(44)
  • linux--top命令查看系统所有详情

    Linux系统可以通过 top 命令查看系统的CPU、内存、运行时间、交换分区、执行的线程等信息。通过top命令可以有效的发现系统的缺陷出在哪里。是内存不够、CPU处理能力不够、IO读写过高。 一、top命令的第一行“top - 19:56:47 up 39 min, 3 users, load average: 0.00, 0.00, 0.00”显示的内容依

    2024年02月16日
    浏览(36)
  • Linux系统之top命令的基本使用

    top命令 可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。 检查本地操作系统版本 检查操作系统内核版本 top命令的使用方法:top [-d number] | top [-bnp] 在top命令执行过程中

    2024年02月02日
    浏览(32)
  • Linux 性能分析之top命令详解

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,其作用类似于windows系统中的任务管理器。 top命令可以动态显示系统的负载情况,本文将详细介绍top命令的方方面面。 top命令支持一些参数,下面是一些常用的参数: -d:设置刷新频率。

    2024年02月06日
    浏览(40)
  • 将linux的top命令内容存入日志中

    使用top命令并结合grep筛选,将top结果保存到日志中中,方便分析进程对系统资源的占用。 该命令的含义是: top参数: -b 批处理模式 -d 更新间隔(秒) -n top执行次数,若不设置,则一直执行,直到手动kill

    2024年03月13日
    浏览(39)
  • Linux性能监控命令-ps,top、pstree

    ps 命令是最常用的监控进程的命令,通过此命令可以查看系统中所有运行进程的详细信息。ps 命令有多种不同的使用方法,源于 UNIX 悠久的历史和庞大的派系。在不同的 Linux 发行版上,ps 命令的语法各不相同,为此,Linux 采取了一个折中的方法,即融合各种不同的风格,兼顾

    2024年01月20日
    浏览(45)
  • Linux学习之内存查看命令free和top

    我用来演示的系统使用 CentOS Linux release 7.6.1810 (Core) ,内核版本是 3.10.0-957.el7.x86_64 。 Linux在进程申请内存的时候,一般都是尽可能给进程内存,因为进程在申请内存的时候有损耗。 free 命令可以看以 k 为单位的内存。 free -m 以 MB 为单位显示内存。 可以看得出 free = total - us

    2024年02月12日
    浏览(35)
  • linux top命令中 cpu 利用率/mem 使用率与load average平均负载计算方式

    top 命令是 Linux 上一个常用的系统监控工具,它经常用来监控 Linux 的系统状态,是常用的性能分析工具,能够显示较全的系统资源信息,包括系统负载,CPU 利用分布情况,内存使用,进程资源占用情况等。 如下示例: 这里主要看进程的 CPU%, MEM% 和 load averge 字段。 该字段指

    2024年02月03日
    浏览(43)
  • linux进程描述指令:ps与top

    显示系统中的所有进程 PID就是进程的唯一编号,操作系统书里有一个PCD的概念,就是一个标识性的控制单元 概念解释 显示终端上的所有进程,包括其他用户的进程 显示进程的详细状态 显示没有控制终端的进程 输入top后,输入P,按照CPU的使用率排序 M:以内存的使用率排序

    2024年02月02日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包