Linux top命令

root@NVTEVM:~$ top -h
top: invalid option -- 'h'
BusyBox v1.31.1 (2023-04-25 17:07:27 CST) multi-call binary.

Usage: top [-bmH] [-n COUNT] [-d SECONDS]

Provide a view of process activity in real time.
Read the status of all processes from /proc each SECONDS
and display a screenful of them.
Keys:
        N/M/P/T: show CPU usage, sort by pid/mem/cpu/time
        S: show memory							
        R: reverse sort							反向排序
        H: toggle threads, 1: toggle SMP		按进程
        Q,^C: exit
Options:
        -b      Batch mode
        -n N    Exit after N iterations
        -d SEC  Delay between updates
        -m      Same as 's' key
        -H      Show threads

Mem: 769524K used, 259824K free, 147964K shrd, 102616K buff, 485860K cached
CPU: 12.8% usr 15.0% sys 0.0% nic 66.7% idle 0.0% io 0.0% irq 5.3% sirq
Load average: 53.83 54.82 54.64 4/504 25619
PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND
17987 1 root S 227m 22.6 0 4.6 ./WebService
17769 1 root R 731m 72.7 0 3.7 {audioEnc1} ./CameraDev
17698 1 root S 638m 63.4 1 3.6 ./McuComm

这是 top 命令的输出,显示了 Linux 系统的实时资源使用情况。以下是详细的解读:

1. 内存使用情况(Mem

Mem: 769524K used, 259824K free, 147964K shrd, 102616K buff, 485860K cached

这行显示了系统内存的使用情况,包含以下几个字段:

  • 769524K used:当前已使用的内存量(769524 KB,即约 753 MB)。
  • 259824K free:当前空闲的内存量(259824 KB,即约 253 MB)。
  • 147964K shrd:共享内存(Shared Memory)使用量,即多个进程共享的内存部分(147964 KB,即约 144 MB)。
  • 102616K buff:用于缓冲(Buffer)的内存量,用于存储磁盘 I/O 操作的数据(102616 KB,即约 100 MB)。
  • 485860K cached:缓存(Cache)的内存量。操作系统会将部分内存用作文件系统缓存,以提高磁盘 I/O 的性能(485860 KB,即约 475 MB)。

总体来看,系统当前的内存使用比较高,已使用的内存占据了大部分内存空间,而空闲内存则相对较少。需要注意的是,Linux 系统使用的缓存和缓冲可以在需要时被回收,因此尽管“已用内存”较高,但实际上的系统可用内存仍然可能相对充足。

2. CPU 使用情况(CPU

CPU: 12.8% usr 15.0% sys  0.0% nic 66.7% idle  0.0% io  0.0% irq  5.3% sirq

这一行显示了 CPU 的使用情况,分为不同的部分:

  • 12.8% usr:用户空间(user space)程序占用的 CPU 百分比,表示用户应用程序在 CPU 上消耗的时间。12.8% 表示系统大约有 12.8% 的 CPU 时间被用户程序占用。
  • 15.0% sys:内核空间(kernel space)占用的 CPU 百分比,表示操作系统内核执行系统调用、管理硬件等任务的时间。15.0% 表示系统的 15.0% 的 CPU 时间被内核操作消耗。
  • 0.0% nic:调整优先级的进程占用的 CPU 百分比,这个值通常非常低。
  • 66.7% idle:空闲时间,占 CPU 总时间的百分比,表示系统当前有 66.7% 的时间没有被进程占用。
  • 0.0% io:等待 I/O 操作的 CPU 时间,表明 CPU 没有被等待磁盘、网络等 I/O 操作所阻塞。
  • 0.0% irq:硬件中断(Interrupt Request)处理占用的 CPU 时间,通常非常低,表示系统没有大量的硬件中断需要处理。
  • 5.3% sirq:软中断(SoftIRQ)占用的 CPU 时间,表示由内核调度的软中断处理程序占用了 5.3% 的 CPU 时间。

3. 负载平均(Load average

Load average: 53.83 54.82 54.64 4/504 25619

负载平均值是系统在不同时间段的负载情况,它表示了系统进程队列的平均长度。负载平均值通常分为三个数字,表示以下时间段的负载:

  • 53.83:过去 1 分钟的平均负载。
  • 54.82:过去 5 分钟的平均负载。
  • 54.64:过去 15 分钟的平均负载。

这些数字较高,意味着系统当前的负载较大,可能存在性能瓶颈。

后面是两个数字:

  • 4/504:分别表示当前正在运行的进程数和系统总进程数。当前有 4 个进程正在运行,而系统总共有 504 个进程。
  • 25619:系统总的进程数,表示系统中一共存在 25619 个进程。

4. 进程列表

进程列表部分显示了当前系统中运行的进程,并列出了它们的各种资源使用情况。以下是三个示例进程的详细信息:

  PID  PPID USER     STAT   VSZ %VSZ CPU %CPU COMMAND
17987     1 root     S     227m 22.6   0  4.6 ./WebService
17769     1 root     R     731m 72.7   0  3.7 {audioEnc1} ./CameraDev
17698     1 root     S     638m 63.4   1  3.6 ./McuComm
  • PID:进程的进程号。
  • PPID:父进程 ID,表示这个进程的父进程。
  • USER:进程所属的用户。
  • STAT:进程的状态,常见的状态包括:
    • S:休眠(Sleeping),表示进程正在等待某些资源。
    • R:运行(Running),表示进程正在运行或就绪。
    • T:停止(Stopped)。
    • Z:僵尸(Zombie),进程已经结束,但其父进程尚未回收它。
  • VSZ:进程使用的虚拟内存量(以 KB 为单位),例如 227m 表示 227 MB。
  • %VSZ:进程占用的虚拟内存的百分比。
  • CPU:进程当前使用的 CPU 时间(百分比)。
  • %CPU:进程使用的 CPU 百分比。
  • COMMAND:执行的命令名。

从进程列表可以看到:

  • PID 17987./WebService 进程,占用了 227 MB 的虚拟内存,使用了 4.6% 的 CPU。
  • PID 17769./CameraDev 进程,占用了 731 MB 的虚拟内存,使用了 3.7% 的 CPU。
  • PID 17698./McuComm 进程,占用了 638 MB 的虚拟内存,使用了 3.6% 的 CPU。

总结

  • 内存:系统已使用 769524K 内存,剩余空闲内存 259824K,内存的缓存部分为 485860K。
  • CPU:当前 CPU 负载较高,用户空间和内核空间的 CPU 使用分别为 12.8% 和 15.0%,但仍有 66.7% 的空闲时间。
  • 负载平均:过去 1 分钟、5 分钟和 15 分钟的负载平均值都较高,分别为 53.83、54.82 和 54.64,可能存在过高的进程数或性能瓶颈。
  • 进程:当前系统运行了多个进程,其中一些进程(如 ./WebService./CameraDev./McuComm)使用了较高的内存资源。

从这些信息可以看出,系统当前的负载较高,可能需要检查进程是否有异常的资源消耗,或者是否需要进一步优化系统配置。

代办

top VIRT https://blog.csdn.net/weixin_30379911/article/details/95011529
http://www.zzvips.com/article/185294.html
https://baijiahao.baidu.com/s?id=1743908545937632735&wfr=spider&for=pc

简介

Linux top命令用于实时显示 process 的动态。可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。

使用权限:所有使用者。

参数含义

https://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316399.html
https://www.jianshu.com/p/a6e96c102881

命令使用

语法

top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]

参数说明:

-b:以批处理模式操作;
-c:显示完整的治命令;
-d:屏幕刷新间隔时间;
-I:忽略失效过程;
-s:保密模式;
-S:累积模式;
-i<时间>:设置间隔时间;
-u<用户名>:指定用户名;
-p<进程号>:指定进程;
-n<次数>:循环显示的次数。

top 交互命令

在top命令执行过程中可以使用的一些交互命令。这些命令都是单字母的,如果在命令行中使用了-s选项, 其中一些命令可能会被屏蔽。

h:显示帮助画面,给出一些简短的命令总结说明;
k:终止一个进程;
i:忽略闲置和僵死进程,这是一个开关式命令;
q:退出程序;
r:重新安排一个进程的优先级别;
S:切换到累计模式;
s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
f或者F:从当前显示中添加或者删除项目;
o或者O:改变显示项目的顺序;
l:切换显示平均负载和启动时间信息;
m:切换显示内存信息;
t:切换显示进程和CPU状态信息;
c:切换显示命令名称和完整命令行;
M:根据驻留内存大小进行排序;
P:根据CPU使用百分比大小进行排序;
T:根据时间/累计时间进行排序;
w:将当前设置写入~/.toprc文件中。

linux top %VSZ含义

https://blog.csdn.net/sinohenu/article/details/58216013

实例

top   			#每隔5秒显式所有进程的资源占用情况
top -d 1		#每隔1秒显式所有进程的资源占用情况

参考资料

https://man.linuxde.net/top
http://c.biancheng.net/linux_tutorial/30/
https://www.runoob.com/linux/linux-comm-top.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值