Linux性能分析:top命令使用

top命令

top 命令是 Linux 系统中一个实时显示进程动态的工具,它可以显示系统中各个进程的资源占用情况,如 CPU 使用率、内存使用率等。

命令行执行top命令,会出现以下视图:

统计信息

第一行:时间/用户/负载

示例:top - 15:17:54 up 1:00, 0 users, load average: 6.68, 4.83, 5.15
解析:

  • 15:17:54:当前系统时间。

  • up 1:00:系统已运行时间。

  • 0 users:当前登录用户数。

  • load average: 6.68, 4.83, 5.15:系统平均负载(过去 1 分钟、5 分钟、15 分钟的平均值)。

第二行:进程信息

示例:Tasks: 154 total, 2 running, 91 sleeping, 0 stopped, 0 zombie
解析:

  • 154 total:总进程数。

  • 2 running:正在运行的进程数。

  • 91 sleeping:处于休眠的进程数。

  • 0 stopped:已停止的进程数。

  • 0 zombie:僵尸进程数。

第三行:CPU信息

示例:

%Cpu0 : 26.8/8.1 35\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|

%Cpu1 : 21.9/12.3 34\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|

%Cpu2 : 29.1/10.6 40\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|

%Cpu3 : 26.7/10.0 37\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|
解析:

  • %Cpu0:表示这是关于第一个 CPU(CPU0)的信息。在多核处理器系统中,top 命令可以显示每个 CPU 核心的使用情况。

  • 26.8/8.1:表示 CPU0 的用户进程使用率为 26.8%,系统进程使用率为 8.1%。

  • 35:表示 CPU0 的总使用率为 35%(用户进程使用率 + 系统进程使用率)。

  • \|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\| :这是一个图形化的进度条,表示 CPU0 的使用情况.在这个示例中,进度条填充了大约 35%。

第四行:内存使用信息

示例 :GiB Mem : 33.9/0.718
解析

  • GiB Mem:表示这是关于内存(以 GiB 为单位)的信息。

  • 33.9/0.718:表示总共有 33.9 GiB 的内存,其中已使用 0.718 GiB。

  • :这是一个图形化的进度条,表示内存的使用情况。在这个示例中,进度条几乎没有填充,说明内存使用率很低。

第五行:系统交换分区信息

示例:GiB Swap: 0.0/0.000

解析:

  • GiB Swap:表示这是关于交换分区(以 GiB 为单位)的信息。

  • 0.0/0.000:表示总共有 0.0 GiB 的交换分区,其中已使用 0.000 GiB。在这个示例中,实际上没有配置交换分区。

  • :这是一个图形化的进度条,表示交换分区的使用情况。

  • 在这个示例中,进度条没有填充,因为没有配置交换分区。

第六行:进程信息

示例 :PID USER PR NI VIRT RES %CPU %MEM TIME+ S COMMAND
解析:

  • PID:进程 ID。

  • USER:进程的所有者。

  • PR:进程优先级(越小表示优先级越高)。

  • NI:进程的 nice 值(-20 到 19,越低表示优先级越高)。

  • VIRT:进程使用的虚拟内存总量(KiB)。

  • RES:进程使用的物理内存(resident set size,KiB)。

  • SHR:进程使用的共享内存(KiB)。

  • S:进程状态(R:运行,S:休眠,T:跟踪/停止,Z:僵尸)。

  • %CPU:进程占用的 CPU 使用率。

  • %MEM:进程占用的物理内存百分比。

  • TIME+:进程使用的累计 CPU 时间(分钟:秒)。

  • COMMAND:进程启动命令名称。

top命令交互操作

在 top 命令的交互式界面中,你可以使用以下按键来执行操作:

  • h?:显示帮助。

  • q 或 Ctrl+C:退出 top。

  • P:按 CPU 使用率排序。

  • M:按内存使用率排序。

  • T:按累计 CPU 时间排序。

  • N:按 PID 排序。

  • u:输入用户名,仅显示该用户的进程。

  • k:输入 PID,终止指定进程。

  • r:输入 PID,修改指定进程的优先级(nice 值)。

  • s:设置刷新间隔(秒)。

  • ltm:显示/隐藏第一行(负载信息)、第二行(任务信息)、第三行(内存信息)。

H

通过帮助信息,可以查找你想要操作指令来帮助你分析进程性能数据。

本文使用 文章同步助手 同步

相关推荐
动力 continue2 小时前
Linux 基础篇 · 压缩打包与用户管理
linux·服务器·基础命令linux
NJCloud4 小时前
Ansible(三)——Zabbix 监控系统部署与敏感信息加密
linux·运维·chrome·信息可视化·ansible·zabbix
ltl4 小时前
Cgroups v2:为什么内存限制设了,宿主机数据库还是被 OOM
linux
NJCloud5 小时前
TiDB 集群部署与 MySQL 兼容性适配实战
linux·运维·数据库·mysql·tidb
2401_868534785 小时前
UNIX常用命令英文全称与中文解释整理
linux·运维
阿祖zu6 小时前
开源项目-让本地 Codex 临时接管远程 Linux 服务,实现快速运维
linux·gpt·agent
Android系统攻城狮8 小时前
Linux PipeWire深度解析之pw_factory_create_object调用流程与实战(七十二)
linux·音频进阶·pipewire音频进阶
lsh曙光8 小时前
playbook剧本(2)--Ansible变量
linux·运维·网络
lengjingzju8 小时前
编译与调试完全指南—第14章 系统配置与调优
linux
大鹏的NLP博客9 小时前
通用 Linux 嵌入式板端 C/C++ ABI 与 Glibc 依赖治理规范
linux·c++·交叉编译