Ubuntu系统CPU、内存、网络、进程监控工具

2,708 阅读5分钟


作用:查看在系统中运行的进程或线程,以及CPU、内存、交换分区等
运行方法:sudo top
运行结果演示:

第一行:

参数解释
22:14:44当前系统时间
57min系统已经运行了57分钟
1 users当前有1个用户登录系统
load average: 0.96, 0.74, 0.58是1分钟、5分钟、15分钟的负载情况

第二行:

参数解释
257 total当前系统有257个进程
1 running一个进程正在运行
240 sleeping240个进程在休眠
13 stopped13个进程停止运行
3 zombie3个zombie状态(僵尸)

第三行:cpu状态

参数解释
22.8 us用户空间占用CPU的百分比。
5.2 sy内核空间占用CPU的百分比。
0.0 ni改变过优先级的进程占用CPU的百分比
71.6 id空闲CPU百分比
0.3 waIO等待占用CPU的百分比
0.0 hi硬中断(Hardware IRQ)占用CPU的百分比
0.0 si软中断(Software Interrupts)占用CPU的百分比

第四行:内存状态

参数解释
16326320 total物理内存总量
2797296 used使用中的内存总量
11844292 free空闲内存总量
1684732 buff/cache缓存的内存量 (79M)

第五行:swap交换分区

参数解释
0 total交换区总量(2GB)
0 used使用的交换区总量(2.5M)
0 free空闲交换区总量(2GB)
13082364 avail Mem缓冲的交换区总量
参数解释
PID进程id
USER进程所有者
PR进程优先级
NInice值。负值表示高优先级,正值表示低优先级
VIRT进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR共享内存大小,单位kb
S进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU上次更新到现在的CPU时间占用百分比
%MEM进程使用的物理内存百分比
TIME+进程使用的CPU时间总计,单位1/100秒
COMMAND进程名称(命令名/命令行)

第七行以下:各进程(任务)的状态监控

参数解释
PID进程id
USER进程所有者
PR进程优先级
NInice值。负值表示高优先级,正值表示低优先级
VIRT进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR共享内存大小,单位kb
S进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU上次更新到现在的CPU时间占用百分比
%MEM进程使用的物理内存百分比
TIME+进程使用的CPU时间总计,单位1/100秒
COMMAND进程名称(命令名/命令行)

1.2 Htop

作用:查看在系统中运行的进程或线程,以及CPU、内存、交换分区等
运行方法:sudo htop
运行结果演示:

左上角:CPU、内存、交换分区

参数解释
114.9%CPU1的占用百分比
216.0%CPU2的占用百分比
316.1%CPU3的占用百分比
417.4%CPU4的占用百分比
Mem2.95G/15.6G内存的使用量与总量
Swp0K/0K交换分区的使用量与总量

右上角:任务、线程

参数解释
Task 163,359 thr;6 running总的进程、线程数,正在运行的进程数
load average:0.43 0.67 0.68是1分钟、5分钟、15分钟的负载情况
uptime 01:22:38系统运行时间

下方的解释详见 1.1 Top

1.3 atop

介绍:atop 和 top,htop 非常相似,它也能监控所有进程,但不同于 top 和 htop 的是,它可以按日记录进程的日志供以后分析。它也能显示所有进程的资源消耗。它还会高亮显示已经达到临界负载的资源。
作用:查看在系统中运行的进程或线程,以及CPU、内存、交换分区等
运行方法:sudo atop

运行结果演示:

1.4 powertop

作用:powertop 可以帮助你诊断与电量消耗和电源管理相关的问题。它也可以帮你进行电源管理设置,以实现对你服务器最有效的配置。
运行方法:sudo powertop
运行结果演示:

1.5 iotop

作用:iotop 用于检查 I/O 的使用情况,并为你提供了一个类似 top 的界面来显示。它按列显示读和写的速率,每行代表一个进程。当发生交换或 I/O 等待时,它会显示进程消耗时间的百分比。
运行方法:sudo iotop
运行结果演示:

1.6 iftop

作用:iftop 类似于 top,但它主要不是检查 cpu 的使用率而是监听所选择网络接口的流量,并以表格的形式显示当前的使用量。
运行方法:sudo iftop

结果演示:

1.7 jnettop

作用:jnettop 以相同的方式来监测网络流量但比 iftop 更形象。它还支持自定义的文本输出,并能以友好的交互方式来深度分析日志。
运行:sudo jnettop

运行结果演示:

1.8 BandwidthD

作用:BandwidthD 可以跟踪 TCP/IP 网络子网的使用情况,并能在浏览器中通过 png 图片形象化地构建一个 HTML 页面。它有一个数据库系统,支持搜索、过滤,多传感器和自定义报表。
运行结果演示(外链)

1.9 NetHogs

作用:NetHogs 打破了网络流量按协议或子网进行统计的惯例,它以进程来分组。所以,当网络流量猛增时,你可以使用 NetHogs 查看是由哪个进程造成的。
运行方法:sudo Nethogs

运行结果演示:

1.10 dstat

作用:dstat 旨在替代 vmstat,iostat,netstat 和 ifstat。它可以让你查实时查看所有的系统资源。这些数据可以导出为 CSV。最重要的是 dstat 允许使用插件,因此其可以扩展到更多领域。