Linux-性能分析top

embedded/2025/1/20 21:41:57/

性能分析top

1. top 命令概述

top 是 Linux 系统中一个常用的性能监控工具,能够动态显示系统的资源使用情况,包括 CPU、内存、进程等信息。通过top命令,用户可以实时查看系统的状态,并进行性能分析,找出资源占用较高的进程,帮助优化系统性能。

2. top 输出的主要内容

top 命令的输出分为两个主要部分:系统状态信息和进程信息。

2.1 系统状态信息

  • up 1:33:系统已运行的时间,表示系统已经持续运行了1小时33分钟。
  • 3 users:当前登录的用户数。
  • load average: 0.00, 0.01, 0.05:系统负载平均值,分别表示1分钟、5分钟、15分钟的系统负载。
  • Tasks: 98 total, 1 running, 97 sleeping, 0 stopped, 0 zombie:系统进程的状态,包括总进程数、正在运行的进程、休眠进程、停止进程和僵尸进程。

2.2 CPU 使用情况

  • %Cpu(s): 0.0 us, 0.0 sy, 100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
    • us (user):用户空间占用的 CPU 百分比。
    • sy (system):内核空间占用的 CPU 百分比。
    • id (idle):空闲 CPU 的百分比。
    • wa (wait):CPU 等待 I/O 的时间百分比。
    • hi (hardware interrupt):硬件中断占用的 CPU 百分比。
    • si (software interrupt):软件中断占用的 CPU 百分比。
    • st (steal):虚拟化环境下,被其他操作系统“偷走”的 CPU 时间。

2.3 内存使用情况

  • KiB Mem : 995896 total, 703224 free, 127528 used, 165144 buff/cache

    • total:系统的总内存大小。
    • free:当前未使用的内存。
    • used:当前已使用的内存。
    • buff/cache:被缓存和缓冲区使用的内存。
  • KiB Swap : 2097148 total, 0 free, 0 used, 693056 avail Mem

    • total:系统的总交换空间。
    • free:当前未使用的交换空间。
    • used:已使用的交换空间。
    • avail Mem:可用内存。

2.4 进程信息

  • PID:进程的ID。
  • USER:进程所属的用户。
  • PR (priority):进程的优先级。
  • NI (nice value):进程的“友好度”,影响进程的调度优先级。
  • VIRT (virtual memory):进程所使用的虚拟内存量。
  • RES (resident memory):进程使用的物理内存量。
  • SHR (shared memory):进程使用的共享内存量。
  • S (state):进程的状态,常见的有:
    • S:睡眠状态。
    • R:运行状态。
  • %CPU:进程使用的 CPU 百分比。
  • %MEM:进程使用的内存百分比。
  • TIME+:进程占用的总 CPU 时间。
  • COMMAND:进程的命令名称。

3. top 命令常用方法

以下是一些常见的top命令操作方法:

3.1 启动 top

top

运行top命令即可进入动态的系统状态监视界面。

3.2 排序方式

  • 按 CPU 排序:按 CPU 使用率对进程进行排序,按P键。
  • 按内存排序:按内存使用情况对进程进行排序,按M键。
  • 按进程 ID 排序:按进程 ID 对进程排序,按N键。

3.3 进程管理

  • 杀死进程:在进程列表中找到目标进程,按下k键,输入目标进程的 PID,之后输入信号(如15表示正常终止,9表示强制终止)。

3.4 刷新间隔

  • 调整刷新间隔:按下d键,输入新的刷新间隔(单位:秒)。

3.5 查看其他信息

  • 切换显示的字段:按f键,选择需要显示的字段,按q退出选择模式。

3.6 退出

  • 退出 top:按q键即可退出。

4. 常用的top选项

top命令提供了一些常用的选项,可以帮助用户定制输出,显示更为精准的信息。

  • -d:指定屏幕信息刷新的时间间隔,默认为3秒。如果希望每10秒刷新一次,使用:

    top -d 10
    
  • -u:只显示指定用户的进程。如果希望只显示wucz用户的进程,使用:

    top -u wucz
    
  • -p:只显示指定的进程。例如,使用top -p 1038,会显示PID为1038的进程。

  • -i:不显示闲置和僵尸进程。例如:

    top -i
    
  • -c:显示生成进程的完整命令。例如:

    top -c
    

http://www.ppmy.cn/embedded/155589.html

相关文章

隧道IP广播与紧急电话系统:提升隧道安全的关键技术

隧道IP广播与紧急电话系统:提升隧道安全的关键技术 随着现代城市交通的迅猛发展,隧道作为重要的交通基础设施,其安全性与应急处理能力显得尤为重要。隧道IP广播与紧急电话系统作为保障隧道安全的关键技术,正发挥着越来越重要的作…

计算机网络 (49)网络安全问题概述

前言 计算机网络安全问题是一个复杂且多维的领域,它涉及到网络系统的硬件、软件以及数据的安全保护,确保这些元素不因偶然的或恶意的原因而遭到破坏、更改或泄露。 一、计算机网络安全的定义 计算机网络安全是指利用网络管理控制和技术措施,保…

ChatGPT大模型极简应用开发-CH1-初识 GPT-4 和 ChatGPT

文章目录 1.1 LLM 概述1.1.1 语言模型和NLP基础1.1.2 Transformer及在LLM中的作用1.1.3 解密 GPT 模型的标记化和预测步骤 1.2 GPT 模型简史:从 GPT-1 到 GPT-41.2.1 GPT11.2.2 GPT21.2.3 GPT-31.2.4 从 GPT-3 到 InstructGPT1.2.5 GPT-3.5、Codex 和 ChatGPT1.2.6 …

“飞的”点外卖,科技新潮流来袭

一、开篇引入 上个周末,阳光正好,我带着孩子去公园游玩。公园里绿草如茵,花朵绽放,孩子们在草地上嬉笑奔跑,好不快活。玩累了,我们便在草坪上的帐篷里休息。 就在这时,天空中突然传来一阵嗡嗡…

Neo4j图数据库学习(二)——SpringBoot整合Neo4j

一. 前言 本文介绍如何通过SpringBoot整合Neo4j的方式,对图数据库进行简单的操作。 Neo4j和SpringBoot的知识不再赘述。关于Neo4j的基础知识,有兴趣可以看看作者上一篇的文章:Neo4j图数据库学习(一)——初识CQL 二. 前置准备 新建SpringBo…

T-SQL语言的学习路线

T-SQL语言的学习路线 引言 T-SQL(Transact-SQL)是微软SQL Server关系数据库管理系统的扩展,广泛用于数据插入、查询、更新和删除等操作。随着数据科学、人工智能和大数据技术的快速发展,数据库技能愈发显得重要。掌握T-SQL可以帮…

mac m4 安装 node

brew install node // 安装 node //安装的路径在: /opt/homebrew/bin/node brew install node14 // brew install node22 // 安装指定版本 如果需要设置环境变量:通过: which node 查找路径 export PATH"/usr/local/opt/…

docker在不删除容器的情况下修改端口映射

注意:必须先停止docker服务!!!! 1) 停止容器 2) 停止docker服务(systemctl stop docker) 3) 修改这个容器的hostconfig.json和config.v2.json文件中的端口 先查看容器id docker inspect jenkins 进入该目录 hostcon…