linux top命令笔记-以不知名小鸡为例
哈哈,最近在学linux就对top命令进行了一些整理,还望各位大佬不要笑话,欢迎到我的博客来查看以获得更好体验! https://696988.xyz/post/21
引言
top 是 Linux 操作系统中的一个常用命令,用于实时显示系统进程的状态信息。它显示了系统中正在运行的进程,包括它们的 CPU 使用率、内存使用情况、进程 ID 等。通过 top 命令,系统管理员可以监控系统的性能,并对占用系统资源过多的进程进行处理。
<!-- more -->
例子
运行 top
后,系统返回:
top - 14:28:28 up 35 days, 2:01, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 52 total, 1 running, 51 sleeping, 0 stopped, 0 zombie
%Cpu(s): 17.3 us, 4.1 sy, 0.0 ni, 78.3 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st
top - 14:28:47 up 35 days, 2:01, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 52 total, 1 running, 51 sleeping, 0 stopped, 0 zombie
%Cpu(s): 13.3 us, 0.0 sy, 0.0 ni, 86.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 256.0 total, 8.9 free, 152.0 used, 95.1 buff/cache
MiB Swap: 32.0 total, 0.0 free, 32.0 used. 104.0 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 109608 6884 4324 S 0.0 2.6 5:15.00 systemd
52 root 20 0 32000 6000 5168 S 0.0 2.3 1:26.96 systemd-journal
71 systemd+ 20 0 16052 736 0 S 0.0 0.3 1:54.93 systemd-network
82 root 20 0 3748 1008 764 S 0.0 0.4 0:14.20 cron
83 message+ 20 0 8260 1924 1244 S 0.0 0.7 0:15.94 dbus-daemon
85 root 20 0 151164 668 0 S 0.0 0.3 0:02.65 rsyslogd
86 root 20 0 14020 2816 1992 S 0.0 1.1 0:09.32 systemd-logind
89 systemd+ 20 0 24112 1156 128 S 0.0 0.4 0:05.97 systemd-resolve
208 root 20 0 2508 116 0 S 0.0 0.0 0:00.00 agetty
209 root 20 0 2508 112 0 S 0.0 0.0 0:00.00 agetty
210 root 20 0 2508 112 0 S 0.0 0.0 0:00.00 agetty
368 root 20 0 40052 528 324 S 0.0 0.2 0:21.84 master
371 postfix 20 0 40352 824 560 S 0.0 0.3 0:04.60 qmgr
3863 root 20 0 1263236 13156 6912 S 0.0 5.0 34:30.50 containerd
4004 root 20 0 1391224 16936 0 S 0.0 6.5 13:19.93 dockerd
17188 root 20 0 726728 17160 10236 S 0.0 6.5 33:04.98 nezha-agent
18784 root 20 0 15084 968 0 S 0.0 0.4 0:00.02 systemd
18785 root 20 0 104368 2112 0 S 0.0 0.8 0:00.00 (sd-pam)
28052 root 20 0 6272 1888 0 S 0.0 0.7 0:45.18 screen
28053 root 20 0 4164 4 4 S 0.0 0.0 0:00.00 bash
28054 root 20 0 4164 160 0 S 0.0 0.1 0:00.00 bash
28058 root 20 0 4164 8 4 S 0.0 0.0 0:00.00 bash
29013 root 20 0 4164 128 4 S 0.0 0.0 0:00.00 bash
30870 root 20 0 4164 524 4 S 0.0 0.2 0:00.00 bash
30882 root 20 0 4164 436 4 S 0.0 0.2 0:00.00 bash
30883 root 20 0 4164 392 4 S 0.0 0.1 0:00.00 bash
30884 root 20 0 41920 37684 4 S 0.0 14.4 0:48.90 bash
30893 root 20 0 4164 424 4 S 0.0 0.2 0:00.00 bash
30900 root 20 0 4164 432 4 S 0.0 0.2 0:00.00 bash
解释
里面包括:
- 第一行:系统运行时间、用户数、平均负载(即系统执行的任务数目)
- Tasks 行:任务数,其中包括正在运行的、休眠的、停止的和僵尸进程。
- %Cpu(s) 行:CPU 使用情况,给出不同状态下 CPU 使用的百分比。
- MiB Mem 行:内存使用情况。
- 剩下的是进程列表,按照 CPU 使用率排序,列出每个进程的 PID、用户、内存使用率、以及正在执行的命令。
我们来逐个逐项解释一下:
-
top - 14:28:28 up 35 days, 2:01, 1 user, load average: 0.00, 0.00, 0.00top:表示运行的命令是 top,它是一个系统监视工具,显示当前系统的资源使用情况。14:28:28:表示当前系统时间。up 35 days, 2:01:表示系统已经运行了 35 天 2 小时 1 分钟。1 user:表示当前系统有 1 个用户。load average: 0.00, 0.00, 0.00:表示系统的平均负载,是一个三元组,分别代衠过去 1、5、15 分钟的平均负载。
-
Tasks: 52 total, 1 running, 51 sleeping, 0 stopped, 0 zombieTasks:表示当前系统运行的任务数量。total:表示当前总任务数。running:表示当前正在运行的任务数。sleeping:表示当前处于睡眠状态的任务数。stopped:表示当前处于停止状态的任务数。zombie:表示当前处于僵尸状态的任务数。
-
%Cpu(s): 17.3 us, 4.1 sy, 0.0 ni, 78.3 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st%Cpu(s):表示 CPU 的使用率。us:表示用户空间占用 CPU 的时间比率。sy:表示内核空间占用 CPU 的时间比率。
-
MiB Mem : 这是内存(Memory)的单位,MiB 是兆字节的缩写(1 MiB = 1024 * 1024 Bytes)。
- 256.0 total:这是系统内存的总量,256.0 MiB。
- 8.9 free:这是当前空闲内存的量,8.9 MiB。
- 152.0 used:这是当前已使用的内存量,152.0 MiB。
- 95.1 buff/cache:这是用于缓存的内存量,95.1 MiB。
-
"MiB Swap"表示交换空间的大小,以兆字节为单位。
- "32.0 total" 表示交换空间总大小为 32.0 MB
- "0.0 free" 表示没有空闲的交换空间
- "32.0 used" 表示 32.0 MB 的交换空间正在使用
- "104.0 avail Mem" 表示可用内存,包括未使用的缓存/缓冲区和已分配但未使用的内存,共计 104 MB
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
- PID:进程的唯一标识符
- USER:进程所有者的用户名
- PR:优先级
- NI:"Nice"值,表示进程的调度优先级
- VIRT:虚拟内存大小(以KB为单位)
- RES:实际内存使用(以KB为单位)
- SHR:共享内存大小(以KB为单位)
- S:状态,可以是D(不可中断),R(运行),S(睡眠)等
- %CPU:进程占用的CPU百分比
- %MEM:进程占用的内存百分比
- TIME+:进程使用的时钟周期(以分钟为单位)
- COMMAND:启动该进程的命令名称/命令行
COMMAND 里的内容:
-
systemd:是 Linux 系统的核心,负责启动和管理系统上的各种服务和进程。
-
systemd-journal:记录系统日志并将其保存到系统日志文件中。
-
systemd-network:管理和配置网络连接。
-
cron:是一个计划任务工具,可以在指定的时间执行命令或脚本。
-
dbus-daemon:是一个用于在应用程序之间进行通信的中间件。
-
rsyslogd:是一个日志管理工具,负责收集系统日志并将其记录到系统日志文件中。
-
systemd-logind:管理和监控系统登录和注销。
-
systemd-resolve:管理域名解析。
-
agetty:是一个终端控制程序,允许用户从终端登录系统。
-
containerd:是一个轻量级容器管理器,用于管理容器的生命周期。
-
dockerd:是 Docker 容器引擎的核心,负责管理容器的生命周期。
-
nezha-agent:是一个用于管理和监控应用程序的代理程序。
-
(sd-pam):是一个 PAM(Pluggable Authentication Modules)的守护进程,用于认证用户。
-
screen:是一个是一个终端复制程序,它可以允许用户在同一时刻运行多个 shell 会话
其他提示
- 可以按下
shift+m
来按占用从大到小排序 - 类似的命令还有
htop
ps -ef
等
Comments
好吧,果然长文没人看
好帖 绑定
以后俺的博客内容就靠抄了
帮你补充:
h: 帮助
q: 退出
l: 负载
t: 处理器
1: 处理器汇总模式
m: 内存
E: 内存显示单位
z: 配色
W: 把当前配置写入用户配置文件($HOME/.config/procps/toprc)
不错 收藏
博客主题不错,收藏了
不错 收藏起来
apt install htop
htop可以动态刷新,还可以选中一个进程停掉
可以把htop当任务管理器用
收藏起来
htop好用+1