top命令可以说是linux系统资源监控最常用的命令了,top 的输出格式为:
top - 20:29:19 up 83 days, 3:42, 2 users, load average: 7.96, 7.74, 6.15
Tasks: 214 total, 2 running, 212 sleeping, 0 stopped, 0 zombie
%Cpu(s): 50.3 us, 12.4 sy, 0.0 ni, 32.8 id, 0.0 wa, 0.0 hi, 4.5 si, 0.0 st
KiB Mem : 16267784 total, 5136976 free, 9050312 used, 2080496 buff/cache
KiB Swap: 6160380 total, 6005320 free, 155060 used. 5676356 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
28509 root 20 0 9.912g 1.812g 7964 S 524.3 11.7 4998:59 java
16168 root 20 0 15.625g 5.199g 18020 S 4.0 33.5 233:32.50 java
28 root 20 0 0 0 0 S 0.3 0.0 3:02.31 ksoftirqd/4
33 root 20 0 0 0 0 S 0.3 0.0 2:26.09 ksoftirqd/5
43 root 20 0 0 0 0 S 0.3 0.0 4:56.15 ksoftirqd/7
552 root 20 0 0 0 0 R 0.3 0.0 36:56.82 xfsaild/dm-0
-
top命令默认3s刷新一次
-
cpu数据显示的是所有cpu使用率的平均值,按1可以查看每个cpu的使用情况
=================================================================
以上面的输出格式为例,逐行说明。
top - 20:29:19 up 83 days, 3:42, 2 users, load average: 7.96, 7.74, 6.15
-
21:45:45 — 当前系统时间
-
1:31 — 系统已经连续运行了1小时31分
-
2 users — 当前有2个用户登录系统
-
load average: 7.96, 7.74, 6.15 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。对于单核cpu,超过1表示满负载,而对于多核cpu,满负荷状态的数字为 “1.00 * CPU核数”,即双核CPU对应2.00。
Tasks: 214 total, 2 running, 212 sleeping, 0 stopped, 0 zombie
- Tasks — 任务(进程),系统现在共有214个进程,其中处于运行中的有2个,212个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
%Cpu(s): 50.3 us, 12.4 sy, 0.0 ni, 32.8 id, 0.0 wa, 0.0 hi, 4.5 si, 0.0 st
第三行主要描述系统cpu的占用情况:
-
50.3 us — 用户空间占用CPU的百分比。
-
12.4 sy — 内核空间占用CPU的百分比。
-
0.0 ni — 改变过优先级的进程占用CPU的百分比
-
32.8 id — 空闲CPU百分比
-
0.0% wa — IO等待占用CPU的百分比
-
0.0 hi — 硬中断(Hardware IRQ)占用CPU的百分比
-
4.5 si — 软中断(Software Interrupts)占用CPU的百分比
-
0.0 st —(Steal Time)当 hypervisor 服务另一个虚拟处理器的时候,虚拟 CPU 等待实际 CPU 的时间的百分比
KiB Mem : 16267784 total, 5136976 free, 9050312 used, 2080496 buff/cache
第四行描述的是系统的内存使用情况(以kb为单位):
-
16267784 total — 物理内存总量
-
5136976 used — 使用中的内存总量
-
9050312 free — 空闲内存总量
-
2080496 buff/cache — 缓存的内存量
KiB Swap: 6160380 total, 6005320 free, 155060 used. 5676356 avail Mem
第五行描述的是交换分区情况:
-
6160380 total — 交换区总量
-
155060 used — 使用的交换区总量
-
6005320 free — 空闲交换区总量
-
5676356 avail Mem — 可用的交换区总量
===================================================================
在默认情况下,仅显示比较重要的 PIO、USERPR、NI、VIRT、RES、SHR、S、%CPU、%MEMTIME+、COMMAND列。
要想展示隐藏项,按 f 键进入选择界面,左侧有 * 号的表示该项是展示状态,通过方向键上下移动到某项,按 d 键可以改变该项的展示状态,然后按【ESC】或【q】键退出返回top界面。
* PID = Process Id
* USER = Effective User Name
* PR = Priority
* NI = Nice Value
* VIRT = Virtual Image (KiB)
* RES = Resident Size (KiB)
* SHR = Shared Memory (KiB)
* S = Process Status
* %CPU = CPU Usage
* %MEM = Memory Usage (RES)
* TIME+ = CPU Time, hundredths
* COMMAND = Command Name/Line
PPID = Parent Process pid
UID = Effective User Id
RUID = Real User Id
RUSER = Real User Name
SUID = Saved User Id
SUSER = Saved User Name
GID = Group Id
**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**
**深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
**因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/f304099d488cab01f11367c7adbb6891.png)
![img](https://img-blog.csdnimg.cn/img_convert/5196cbc184ac858b3a2d4d16f0e57219.png)
![img](https://img-blog.csdnimg.cn/img_convert/ebc9f4532668b2405fe074114f755823.png)
![img](https://img-blog.csdnimg.cn/img_convert/1fa457e54e4217bad3319ecdf32c504f.png)
![img](https://img-blog.csdnimg.cn/img_convert/1a5480e8894873b438b4add6697a4e16.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!**
**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
**如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)**
![img](https://img-blog.csdnimg.cn/img_convert/e898ed3f14d49c81a2912cfa28b14d17.jpeg)
uRDlgW-1712757081451)]
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!**
**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
**如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)**
[外链图片转存中...(img-GjY4z12e-1712757081451)]