[系统技巧] Linux top 命令解析及使用
作者:CC下载站 日期:2023-10-11 22:30:13 浏览:54 分类:玩电脑
前言
在 Linux 中常用 top 动态监测程序运作的状态,以分析系统的整体性能。比如,监测 CPU 使用率、内存使用、系统负载以及每个进程资源占比等情况。
1. top 监测结果分析
先看下 top 整体输出结果:
从上图我们可以很清楚的看到,top 输出结果以光标所在处分为了上下 2 部分:
1)上半部分5行是整个系统的资源使用状态;
2)下半部分是系统中每个进程资源占用的具体信息;
3)光标所在处是用来输入操作命令的。
1.1 第一部分:系统整体性能分析
1.1.1 第一行(top…):系统状态
top - 16:41:10 up 16:54, 2 users, load average: 0.00, 0.00, 0.00
top - 16:41:10 | 系统当前时间 |
---|---|
up 16:54 | 系统开机到目前为止所经过的时间:16天54分 |
2 users | 当前已经登入系统的用户人数 |
load average: 0.00, 0.00, 0.00 | 系统在 1, 5, 15 分钟的平均工作负载 (平均在 CPU 上运行或者等待运行的进程数量),越小代表系统越闲置。一般只要每个 CPU 的当前活动进程数不大于 3 表示系统的性能是良好的,如果大于 5 就表示系统性能有严重问题了。计算公式:每个 CPU 的当前任务数 = load average / CPU总数 |
1.1.2 第二行(Tasks…):进程状态信息
Tasks: 305 total, 1 running, 223 sleeping, 0 stopped, 0 zombie
305 total | 所有启动的进程数 |
---|---|
1 running | 正在运行的进程数 |
223 sleeping | 挂起的进程数 |
0 stopped | 停止的进程数 |
0 zombie | 僵尸进程数 |
注意:如果 zombie 的值不是 0,就要好好看看到底是哪个进程变成僵尸了!!!
1.1.3 第三行(Cpus…):CPU 的整体负载
%Cpu(s): 0.2 us, 0.1 sy, 0.0 ni, 99.4 id, 0.1 wa, 0.0 hi, 0.2 si, 0.0 st
0.2 us | 用户空间占用的 CPU 百分比 |
---|---|
0.1 sy | 内核空间占用的 CPU 百分比 |
0.0 ni | 用户进程空间内改变过优先级的进程占用 CPU 百分比 |
99.4 id | 空闲 CPU 百分比 |
0.1 wa | 等待输入输入的 CPU 百分比(一般 CPU 处理速度很快,而磁盘 IO 操作很慢。wa 表示 CPU 在等待 IO 操作完成所花费的时间。系统不应该花费大量的时间来等待 IO 操作,否则就说明 IO 存在瓶颈) |
0.0 hi | 硬中断占用的 CPU 百分比(硬中断是硬盘、网卡等硬件设备发送给 CPU 的中断消息) |
0.2 si | 软中断 CPU 百分比(软中断是由程序发出的中断) |
0.0 st | 虚拟 CPU 等待实际 CPU 的时间的百分比 |
【提示】一般我们关注比较多的是:us、sy、id、wa、hi、si 这6个数值。如果是多核心的设备,可以【按下数字键 1】来查看不同 CPU 的负载率:
1)%id 表示 CPU 空闲率,当 id 持续过低的时候,表示系统迫切需要解决 CPU 资源问题了;
2)CPU 使用率等于:1 - %id ,或者:us + sy + si;
3)wa:使用率过高的时候,我们需要考虑 IO 的性能是否有瓶颈,可以在使用 iostat、sar 等命令做进一步分析;
4)hi: 使用率过高时,表示当前硬件中断占用很大的百分比。一般硬件中断我们可以分析文件/proc/interrupts、/proc/irq/pid/smp_affinity、irqbalance 服务是否配置,以及 CPU 的频率设置,通过这些可以帮系统打散优化系统的硬件中断;
5)si:Linux kernel 通过用一种软件的方法(可延迟函数)来模拟硬件的中断模式,通常叫做软中断。常见的软件中断一般都是和网络有关。从网卡到 IP 层的数据报文收发都是 si 处理的,长时间写日志也可能产生软件中断;
6)当软中断出现瓶颈的时候,系统有个进行叫 ksoftirqd,每个 CPU 都有自己对应的 ksoftirqd/n(n 为 CPU 的逻辑 ID),每个 ksoftirqd 的内核线程都会去运行对应的 ksoftirqd(函数)来处理自己的中断队列上的软件中断。所以,当网络出现阻塞的时候,软件中断程序 ksoftirqd肯定会出现瓶颈。此时我们可以通过 ps aux|grep ksoftirqd 查看 ksoftirqd 的瓶颈;
7) Ni:优先级(priority)为操作系统用来决定 CPU 分类的参数,Linux使用(round-robin)的算法来做 CPU 排程,优先序越高,有可能获得的 CPU 时间就越多。但是我们可以通过 nice 命令以更改过的优先序来执行程序,如果未制定程序,则会打印出目前的排程优先序,内定的adjustment 为 10,范围为 -20(最高优先序)到 19(最低优先序)。
1.1.4 第四行(KiB Mem…):Mem内存信息(物理内存)
KiB Mem : 3994728 total, 1374080 free, 611452 used, 2009196 buff/cache
3994728 total | 物理内存总量 |
---|---|
1374080 free | 空闲物理内存 |
611452 used | 已经使用的物理内存 |
2009196 buff/cache | 内核缓存内存量 |
1.1.5 第五行(KiB Swap…):Swap交换内存(虚拟内存)
KiB Swap: 2097148 total, 2097148 free, 0 used. 3103764 avail Mem
2097148 total | 交换区总量 |
---|---|
2097148 free | 空闲交换区总量 |
0 used | 已使用的交换区总量 |
3103764 avail Mem | 可用于启动一个新应用的内存(物理内存),和 free 不同,它计算的是可回收的 page cache 和 memory slab |
1.1.6 小结
第四行和第五行输出的信息,等同于使用 free -m 命令;
在第四行中,已使用的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到 free 中去,因此在 linux 上 free 内存会越来越少,但不用为此担心;
剩余可用内存总量 = 第四行的free + 第四行的buff/cache,按这个公式此服务器的可用内存:1374080k + 2009196k = 3.3GB左右;
对于内存监控,在 top 里我们要时刻监控第五行 swap 交换分区的 used,如果这个数值在不断的变化,说明内核在不断进行内存和 swap 的数据交换,这是真正的内存不够用了。
1.2 第二部分:进程信息
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
PID | 进程ID |
---|---|
USER | 进程所有者 |
PR | 进程的优先级,越小优先级越高 |
NI | nice 值,负值表示高优先级,正值表示低优先级 |
VIRT | 进程使用的虚拟内存总量,单位kb,VIRT = SWAP + RES |
RES | 进程使用的、未被换出的物理内存大小,单位kb,RES = CODE + DATA |
SHR | 进程使用的共享内存大小,单位 kb |
S | 进程状态(D=不可中断的睡眠状态(通常出现在IO阻塞) R=正在运行 S=睡眠 T=跟踪/停止 Z=僵尸进程 N=进程优先值为负数 I=空闲状态) |
%CPU | 进程占用的 CPU 使用率 |
%MEM | 进程使用的物理内存百分比 |
TIME+ | 进程使用的 CPU 时间总计,单位 1/100 秒 |
COMMAND | 进程名称(命令名/命令行) |
上述列的是 top 命令的默认显示,还有一些参数选项可以使用 top 的交互命令选择显示,按 f 键,进入列配置页面选择需要展示的参数内容。
2. top 命令行选项
命令格式:top [参数]
参数 | 功能描述 |
---|---|
-b | 批处理,一般配合 -n 指定输出几次统计信息,将输出重定向到指定文件,比如:top -b -n 5 > top.txt |
-c | 显示进程的完整命令,默认是进程名 |
-i | 不显示任何闲置 (idle) 或无用 (zombie) 的进程 |
-s | 保密模式 |
-S | 累积模式 |
-d <秒数> | 设置刷新时间,默认是5s |
-n <次数> | 指定刷新次数,比如 top -n 5,刷新输出5次后退出 |
-o <-PID/PID> | 指定要排序的字段,比如 top -o -PID:按照 PID 从小到大排序, top -o PID:按照 PID 从大到小排序 |
-p <进程号> | 指定显示某个进程的信息 |
-u <用户名> | 查找特定用户启动的进程 |
3. top 交互命令
在 top 命令执行过程中可以使用的一些交互命令。这些命令都是单字母的,如果在命令行中使用了 s 选项, 其中一些命令可能会被屏蔽。
按键 | 功能描述 |
---|---|
1 | 多核心的设备,可以查看不同 CPU 的负载率 |
k | 终止一个进程 |
i | 忽略闲置和僵死进程,这是一个开关式命令 |
q | 退出程序 |
r | 重新安排一个进程的优先级别 |
S | 切换到累计模式 |
s | 改变两次刷新之间的延迟时间(单位为 s),如果有小数,就换算成 ms。输入 0 值则系统将不断刷新,默认值是 5s |
f | 可以选择是否需要展示的项目 |
o | 改变显示项目的顺序 |
c | 显示产生进程的完整命令,等同于 -c 参数,再次按下 c 键,变为默认显示 |
m | 切换显示内存信息 |
t | 切换显示进程和 CPU 状态信息 |
h | 显示帮助画面 |
H | 查看线程信息 |
l | 切换显示平均负载和启动时间信息 |
M | 根据驻留内存大小进行排序 |
P | 根据 CPU 使用百分比大小进行排序 |
T | 根据时间/累计时间进行排序 |
W | 将当前设置写入 ~/.toprc 文件中 |
猜你还喜欢
- 03-04 [服务器类]iis6.0安装包
- 04-07 [QQ专区]qq服务器拒绝了您发送离线文件解决方法
- 07-10 [玩网络] 服务器防火墙规则及进出站端口设置
- 08-20 [教程] 商梦网校VPS服务器管理教程
- 10-21 [操作系统]《红帽企业Linux 5.9服务器版》(Red Hat Enterprise Linux 5.9 Server)x86/64[光盘镜像]
- 04-07 [棋牌源码] 颂游棋牌各种教程各种端带服务器,一锅鲜大聚会
- 05-27 [站长帮] 宝塔的PHP环境下,服务器大量php-cgi.exe进程导致CPU占用100%
- 06-02 [服务器教程] ZBench: 服务器一键测试脚本 / 自带结果导出
- 08-12 [黑客软件] 御剑RDP爆破工具_暴力批量破解服务器
- 10-04 [服务器] 打开网站显示“No input file specified.”的解决方法
- 10-23 [服务搭建] 服务器Windows 2008系统安装IIS
- 10-29 [网络资源] Amazon Lightsail 一键管理服务器脚本
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[美剧] 史密斯夫妇.2024.8集全.4K.附影版
[电影] 最佳拍档5:兵马俑风云(含前4部全合集)[喜剧/动作/犯罪]
[有声小说] 《都市风水师》 作者:听叶 主播:原野 434集完【MP3】
[电影] 重启2000之传奇人生(84集)
[有声小说] 《百炼成神》 主播:令狐笑笑生&浥轻尘 3913集完【MP3】 [40.3G]
[有声小说] 《傲世九重天》 作者:风凌天下 主播:我影随风 2323集完结【MP3】
[美剧] 《女巫阿加莎》2024 [1080P BD][英语 中英双语字幕][1-9集全]
[美剧] 企鹅人 The Penguin (2024) 1080P 全8集完结
[电视剧] 我们在黑夜中相拥 (2024) 1080 横屏短剧 更24完结
[书籍] 经典科普书籍合集30套近300部·完美精校全插图收藏版
[书籍] 彭子益医书合集 [PDF/DOC]
[游戏] 《黑神话悟空》免安装学习版【全dlc整合完整版】+Steam游戏解锁+游戏修改工具!
[动画] 《名侦探柯南》名侦探柯南百万美元的五菱星 [TC] [MP4]
[动画] 2002《火影忍者》720集全【4K典藏版】+11部剧场版+OVA+漫画 内嵌简日字幕
[剧集] 《斯巴达克斯》1-4季合集 无删减版 1080P 内嵌简英特效字幕
[CG剧情] 《黑神话:悟空》158分钟CG完整剧情合集 4K120帧最高画质
[电影] 《变形金刚系列》七部合集 [4K HDR 蓝光] 国英双语音轨 [内封精品特效字幕]【典藏版】235G
[游戏] 黑神话悟空离线完整版+修改器
[动画] 西游记 (1999) 动画版 4K 全52集 高清修复版 童年回忆
[电影] 《神奇动物在哪里三部合集》 4K REMUX原盘 [杜比视界] [国英双语音轨] 特效字幕 [171.1G]
[影视] 美国内战 4K蓝光原盘下载+高清MKV版/内战/帝国浩劫:美国内战(台)/美帝崩裂(港) 2024 Civil War 63.86G
[影视] 一命 3D 蓝光高清MKV版/切腹 / 切腹:武士之死 / Hara-Kiri: Death of a Samurai / Ichimei 2011 一命 13.6G
[影视] 爱情我你他 蓝光原盘下载+高清MKV版/你、我、他她他 2005 Me and You and Everyone We Know 23.2G
[影视] 穿越美国 蓝光原盘下载+高清MKV版/窈窕老爸 / 寻找他妈…的故事 2005 Transamerica 20.8G
[电影] 《黄飞鸿》全系列合集
[Android] 开罗游戏 ▎像素风格的模拟经营的游戏厂商安卓游戏大合集
[游戏合集] 要战便战 v0.9.107 免安装绿色中文版
[电影] 【珍藏版】20世纪电影合集从1922年到1990年代,看看爷爷辈的电影是什么样合集约212G
[书籍] 彭子益医书合集 [PDF/DOC]
[系统]【黑果小兵】macOS Big Sur 11.0.1 20B50 正式版 with Clover 5126 黑苹果系统镜像下载
- 最新评论
-
一部不错的经典科幻kelvin 评论于:11-13 找了好久的资源,终于在这里找到了。感谢本站的资源和分享。谢谢285552528 评论于:11-09 找了好久的资源bjzchzch12 评论于:11-07 谢谢分享感谢ppy2016 评论于:11-05 谢谢分享感谢ppy2016 评论于:11-05 有靳东!嘻嘻奥古斯都.凯撒 评论于:10-28 流星花园是F4处女作也是4人集体搭配的唯一一部!奥古斯都.凯撒 评论于:10-28 找了好久的资源,终于在这里找到了。感谢本站的资源和分享。谢谢AAAAA 评论于:10-26 找了好久的资源,终于在这里找到了。感谢本站的资源和分享。谢谢password63 评论于:10-26 找了好久的资源,终于在这里找齐了!!!!blog001 评论于:10-21
- 热门tag