Linux 命令 top 详解

1 top命令介绍

  • Linux系统中,Top命令主要用于实时运行系统的监控,包括Linux内核管理的进程或者线程的资源占用情况。
  • 这个命令对所有正在运行的进程和系统负荷提供不断更新的概览信息,包括系统负载、CPU利用分布情况、内存使用、每个进程的内容使用情况等信息。

2 常用的 top 指令

top:启动top命令
top -c:显示完整的命令行
top -b:以批处理模式显示程序信息
top -S:以累积模式显示程序信息
top -n 10:表示更新十次后终止更新显示
top -d 3:设置信息更新周期为3秒
top -p 139:显示进程号为139的进程信息,CPU、内存占用率等

除此之外,在top进程运行过程中,两个最重要的功能是查看帮助(h 或 ?)和退出(q 或 Ctrl+C)

3 top信息详解

    top展示界面由从上到下四部分组成:

  • 概览区域
  • 表头
  • 任务区域
  • 还有一个输入/消息行,位于概览区域和表头之间(一般不需要使用这个,会看参数值即可)。
    在这里插入图片描述

3.1 概览区逐行解释

3.1.2 概览区第一行详解
top - 13:23:10 up 398 days,  9:03,  6 users,  load average: 2.36, 2.62, 2.59
  • top:程序或者窗口的名称
  • 13:23:10 up 398 days, 9:03:分别是当前时间、启动天数、系统的启动时间
  • 6 users:总共的用户数量
  • load average: 2.36, 2.62, 2.59:分别代表过去1、5和15分钟的系统平均负载
3.1.2 概览区第二行详解
Tasks: 241 total,   2 running, 239 sleeping,   0 stopped,   0 zombie

        该信息对 task 进行分类,包括running、sleeping、stopped、zombie四类,显示了系统中正在运行的任务的状态统计信息:

  • 241 total:总共有241个任务数
  • 2 running:当前有 2 个任务正在运行
  • 239 sleeping:当前有 239 个任务处于睡眠状态
  • 0 stopped:有 0 个任务停止
  • 0 zombie:0 个任务为僵尸进程
3.1.3 概览区第三行详解
%Cpu(s):  3.9 us,  7.2 sy,  0.0 ni, 83.4 id,  0.0 wa,  0.0 hi,  5.5 si,  0.0 st

显示CPU的状态百分比:

  • %Cpu(s): CPU使用率的统计信息
  • us (user): 用户空间进程占用CPU的时间百分比
  • sy (system): 内核空间进程占用CPU的时间百分比
  • ni (nice): 用户进程以优先级调整过的占用CPU的时间百分比(通常不会有这个值)
  • id (idle): CPU空闲的时间百分比
  • wa (IO-wait): CPU等待I/O操作的时间百分比
  • hi (hardware interrupt): CPU处理硬件中断的时间百分比
  • si (software interrupt): CPU处理软件中断的时间百分比
  • st: 被虚拟化环境偷取的时间百分比(通常不会有这个值)
3.1.4 概览区第四、第五行详解
KiB Mem : 32761636 total, 10839940 free, 14976144 used,  6945552 buff/cache
KiB Swap:  4063228 total,  4043260 free,    19968 used. 15659636 avail Mem 

(表示内存的使用情况)

  • 第四行表示物理内存,分为total、 free、 used 、 buff/cache
  • 第五行表示虚拟内存,分为total、free、used、avail

4 任务区字段详解

  • %CPU: CPU Usage,自上次屏幕更新以来任务占用的CPU时间份额,表示为总CPU时间的百分比。
  • %MEM: Memory Usage,进程使用的物理内存百分比
  • CODE:Code Size,可执行代码占用的物理内存量
  • COMMAND:Command Name or Command Line,用于显示输入的命令行或者程序名称
  • PID:Process Id,任务独立的ID,即进程ID
  • PPID:Parent Process Id,父进程ID
  • UID:User Id,任务所有者的用户ID
  • USER:User Name,用户名
  • RUSER:Real User Name,实际的用户名
  • TTY:Controlling Tty,控制终端名称
  • TIME:CPU TIME,该任务CPU总共运行的时间
  • TIME+:同TIME,其粒度更细
  • OOMa:Out of Memory Adjustment Factor,内存溢出调整机制,这个字段会被增加到当前内存溢出分数中,来决定什么任务会被杀掉,范围是-1000到+1000。
  • OOMs:Out of Memory Score,内存溢出分数,这个字段是用来选择当内存耗尽时杀掉的任务,范围是0到+1000。0的意思是绝不杀掉,1000的意思是总是杀掉。
  • S:Process Status,表示进程状态信息
    • D: 不可中断休眠
    • I:空闲
    • R:运行中
    • S:休眠
    • T:被任务控制信号停止
    • t:在跟踪期间被调试器停止
    • Z:僵尸
      (相关属性有很多,可以使用man top查看,这里先列举这些。)

5 交互命令详解

        top的功能很多,基本能够查看进程的各种状态信息,其中还有一些交互式的命令,方便我们更好的查看系统状态。

在top主界面中,我们输入下面的命令

命令功能
h、?帮助信息查看,涵盖所有的快捷键
空格、回车按键手动刷新界面信息
q、ESC按键退出
B粗体显示功能
d、s改变间隔时间
E、e切换内存显示的单位,从KiB到EiB
g然后输入1-4其中一个数字,选择哪种窗口(1.默认,2.任务,3.内存,4.用户)
H进程、线程显示切换
k输入PID信息,杀掉一个任务
Z改变配色

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/515025.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

开源量化交易研究框架Hikyuu

Hikyuu Quant Framework 是一款基于 C/Python 的开源量化交易研究框架,用于策略分析及回测。其核心思想基于当前成熟的系统化交易方法,将整个系统化交易抽象为由市场环境判断策略、系统有效条件、信号指示器、止损 / 止盈策略、资金管理策略、盈利目标策…

分享three.js实现粒子背景

three.js中粒子效果的实现方式大概分为三种: 1、Javascript直接计算粒子的状态变化,即基于CPU实现; 2、Javascript通知顶点着色器粒子的生命周期,由顶点着色器运行,即基于GPU实现; 3、粒子生成与状态维护全…

QT实现NTP功能

一.NTP基础 1.NTP定义 NTP(Network Time Protocol,网络时间协议)是由RFC 1305定义的时间同步协议,用于分布式设备(比如电脑、手机、智能手表等)进行时间同步,避免人工校时的繁琐和由此引入的误…

【漏洞复现】极简云 download.php 接口处存在任意文件读取漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

什么是线程安全、怎么保证线程安全

目录 什么是线程安全 多线程编程中的三个核心概念 JMM内存模型 JMM内存模型怎么实现原子性、可见性 怎么保证线程安全 什么是线程安全 当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步&#x…

Rust---复合数据类型之结构体

目录 结构体的使用输出结果 结构体简化创建结构体更新语法元组结构体单元结构体(unit struct)结构体中的引用使用#[derive(Debug)]再次介绍 代码综合展示 与元组不同的是,结构体可以为内部的每个字段起一个富有含义的名称,因此无需…

基于SpringBoot+Vue的汽车租赁管理系统的设计和实现【附源码】

1、系统演示视频(演示视频) 2、需要交流和学习请联系

vivado适用于 UltraScale 和 UltraScale+ 器件的 eFUSE 寄存器访问和编程

FUSE_DNA : 唯一的器件 DNA 每个 UltraScale 器件都有唯一的器件 ID , 称为器件 DNA , 且赛灵思已将此 DNA 编程到器件中。用户无法对 FUSE_DNA 进行编程。 UltraScale 器件具有 96 位 DNA 。您可在 Vivado Design Suite Tcl 控制台中…

Matlab梁单元有限元编程:铁木辛柯梁VS欧拉梁

专栏导读 作者简介:工学博士,高级工程师,专注于工业软件算法研究本文已收录于专栏:《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现,并提供所有案例完整源码;2.单元…

openplc Linux 地址映射io,读写驱动数据等使用记录

1. 上一篇记录 openplc使用C语言文件读写驱动实现基本流程。 openPLC_Editor C语言编程 在mp157 arm板上调用io等使用记录_openplc c 编程-CSDN博客 2. 下面通过映射地址的方式控制io和读写驱动数据。 在runtime 环境的 hardware 硬件配置中 选择 python on Linux(PSM)&#…

成为先进企业应该从用飞书开始,还是应该从裁员开始?

点击文末“阅读原文”即可参与节目互动 剪辑、音频 / 卷圈 运营 / SandLiu 卷圈 监制 / 姝琦 封面 / 姝琦Midjourney 产品统筹 / bobo 大家都觉得飞书不行了,我们反而不这么看。 众所周知,飞书最近裁员的消息在业界引起了巨大的反响,大…

基于SSM+Jsp+Mysql的快递管理系统

开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包…

62、服务攻防——框架安全CVE复现SpringStrutsLaravelThinkphp

文章目录 常见语言开发框架(主流): PHP:ThinkPHP、Laravel、YIIJAVA:Spring、SpringbootPython:FlaskJavaScript:Vue.js、Node.js 框架判断(): 通过插件Wappalyzer(可能…

练手项目层初阶1—《详解静态版本——通讯录管理系统》

文章目录 🚩前言🔊 项目需求📚 项目知识点包含🧩项目框架📝框架拆解分析✨Struct_book.h 头文件解析✨Struct_book.c文件解析✨test_book.c文件解析 📺演示效果🚀完整代码 🚩前言 俗…

联想 Y9000P 连接网线速度慢 的 问题解决

参考帖子:求助,拯救者Y9000P 2022 i73060版本 有线网非常慢 无线网正常【笔记本吧】_百度贴吧 问题原因: 网卡驱动版本不对。不能用Win11版,要用Win10版。 问题解决: 1、卸载原驱动 2、下载Win10 驱动 并安装 下载…

C语言——常用库函数的使用及模拟实现

C语言编译系统为使用者提供了很多的预定义库函数。用户在编写程序时,可以直接调用这些库函数。这里选择了一些常用的库函数,简单介绍各个函数的使用方法: 字符串函数 字符串函数函数分为长度不受限制的字符串函数,和长度受限制的…

手搓链表(java)(不完整)

手搓链表(java)(不完整) 文章目录 手搓链表(java)(不完整)前言一、代码1.MyLinkedList类:2.测试类: 总结 前言 提示:以下是本篇文章正文内容&…

Git 术语及中英文对照

完毕!!感谢您的收看 ----------★★历史博文集合★★---------- 我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字…

保姆级教程——VLAN综合实验(不同VLAN通过动态路由访问外网)

前言: 部署了VLAN的传统交换机不能实现不同VLAN间的二层报文转发,因此必须引入路由技术来实现不同VLAN间的通信。VLAN路由可以通过二层交换机配合路由器来实现,也可以通过三层交换机来实现 VLAN间通信的限制 每个VLAN都是一个独立的…

vue 使用自定义标签URL Protocol 调用本地exe 并传参

创建注册表文件reg,并运行 里面的路径需要替换成实际exe的绝对路径 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\App] "URL:App Protocol Handler" "URL Protocol""" [HKEY_CLASSES_ROOT\App\DefaultIcon] &qu…