尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

从零看懂计算机(十六):综合实战——机器资源监视看板(系列收官)

发布时间:2026/9/29 4:34:50

资讯中心
01
ARTICLE

从零看懂计算机(十六):综合实战——机器资源监视看板(系列收官)

从零看懂计算机(十六):综合实战——机器资源监视看板(系列收官)
本文是专栏《从零看懂计算机》的第 16 篇共 16 篇连载——收官之作。没有新概念了。这一篇只做一件事把 15 篇攒下的全部零件装进同一台机器。网页上四块实时跳动的图表——CPU、内存、磁盘、网络——每一块都是你亲手解剖过的器官。第 10 篇和第 11 篇埋的最后两颗雷本篇实测引爆六本登记册、四颗雷、十六条军规同一天收线。文章目录写在前面一、项目总览给机器挂上仪表盘1.1 架构三层每层都是学过的1.2 动手前先想清楚两笔账系列条件反射二、动手三步搭起看板2.1 后端采样线程 HTTP 接口约 100 行2.2 前端每秒跳动的四块图表2.3 一键构建出厂三、GIL 雷终爆多线程采集实测说话3.1 实验设计3.2 读数两种结局都合法四、泄漏雷终爆24 小时长跑体检4.1 体检怎么做4.2 两把止血刀待命第 11 篇五、全系列总合龙5.1 六本登记册大地图5.2 机器一栋楼类比总图5.3 雷台账全部清零5.4 军规十六条合龙5.5 世界观收官词六、结业三件套6.1 研究报告交付物一6.2 知识地图交付物二6.3 收官拼图测验10 题交付物三七、本文总结写在最后系列终章附术语速查表收官纪念版·精选 16 词写在前面本篇你能搞懂怎么把 16 天的知识装进一个真实项目不是复习是上岗GIL 雷终爆多线程采集到底快不快——用你自己的数字说话泄漏雷终爆长跑体检曲线平的才是好服务全系列总合龙登记册大地图、类比总图、军规十六条、世界观收官词。先看项目成品长什么样浏览器打开一个本地网页四块图表每秒跳动——CPU 占用、内存占用、磁盘读写速度、网络流量。后端是约一百行 Python采样线程不停量器官HTTP 接口对外报数前端网页每秒来取一次。第 7 篇你为卡分诊的四行表CPU 满载/等缓存/等换页/GPU 供不上帧——从今天起你有仪表盘了。一、项目总览给机器挂上仪表盘1.1 架构三层每层都是学过的层用什么哪篇的本事采集端Python psutil后台线程每秒采样第 9 篇进程视角、第 10~11 篇线程与内存接口端裸 HTTP 服务不用框架复用 D13 迷你框架思路第 13 篇 socket、第 14 篇好莱坞原则展示端单文件网页 图表每秒拉取刷新第 7 篇帧率直觉、第 8 篇信封数据流psutil 量器官 → 采样线程存最近数值 →/stats接口报 JSON → 网页每秒来取 → 图表动起来。一条第 12~13 篇的流从文件流换成了网络流。1.2 动手前先想清楚两笔账系列条件反射刷新率账第 7 篇帧率直觉监控数据 1 秒变一次网页刷 60 次也是同一个数——内容变化频率决定刷新率1 秒拉取刚刚好。为什么不是 10 秒鼠标点开进程列表那一下你等不起第 9 篇响应式错觉量纲账第 12 篇条件反射磁盘MB/s和内存MB不是一回事——接口输出前先统一好单位前端不许做除法猜量纲。二、动手三步搭起看板2.1 后端采样线程 HTTP 接口约 100 行请用 Python 标准库 psutil 写一个机器资源监视看板后端 1. 一个后台采样线程每 1 秒用 psutil 采集 CPU 占用、内存占用、 磁盘读写速度disk_io_counters 差值/秒、网络收发速度 net_io_counters 差值/秒存进一个全局字典最近 N 次历史 2. 一个 HTTP 服务socket 裸写不用框架 GET / → 返回看板网页单文件 HTML GET /stats → 返回 JSON四项指标的当前值最近 60 秒历史 注意单位在服务端统一好——速度用 KB/s、容量用 MB 3. 代码里用注释标出哪几行是框架主循环它跑的、 采样线程在哪行启动——我要看清好莱坞原则和它调你。跑起来curl http://127.0.0.1:9879/stats——第 13 篇偷看浏览器开场白的位置这次轮到你当服务器。2.2 前端每秒跳动的四块图表接着给 / 的看板网页单 HTML 文件可用 Chart.js/ECharts 图表库 1. 四块图表CPU、内存、磁盘速度、网络速度——折线滚动 60 秒 2. setInterval 每 1 秒 fetch(/stats) 更新数据 3. 注释说明为什么不用更快的刷新数据 1 秒才变一次 4. 页面加载失败要显示错误横幅第 8 篇哪层出问题查哪层的 应用层自查。浏览器打开——四块器官开始跳动。这是你自己机器的心电图。2.3 一键构建出厂把第 15 篇的build.sh跑在这个项目上venv →pip install -r requirements.txt→ pytest → zip。从源码到成品一条命令——第 14/15 篇的纪律清单lock合格证全部上岗。三、GIL 雷终爆多线程采集实测说话第 10 篇记的账原话在此“GIL 只锁’执行字节码’的时刻线程在等 IO 时会放锁——采集线程会不会被 GIL 卡死”第 13 篇你已见过预演今天正式结案。3.1 实验设计请写一个采样对决脚本 1. 串行版主线程里依次采 4 类指标CPU/内存/磁盘/网络 连续 30 秒统计平均一轮耗时 2. 多线程版4 个线程各盯一类指标同样 30 秒 3. 打印两种模式的平均耗时和比值 4. 把 CPU 占有率也打印出来我要看采样本身吃多少 CPU。3.2 读数两种结局都合法多线程明显更快采样的大部分时间花在等 psutil 读数IO 等待——等待时放锁让路4 线程轮流上独木桥等待被并行摊掉第 13 篇压测同款结论正式版差别不大psutil 单次读数太快、等待占比太低——放锁省下的时间不够抵线程切换成本。这不是理论错了是你这台机器上等待占比本来就小。无论哪种结局——GIL 雷拆除的标志不是多线程赢了是你现在能用等待占比解释一切第 10 篇说CPU 密集白招等待占比≈0独木桥全程占用、本篇看板IO 密集有戏等待占比高——一个模型两段命运以你的实测为准。CPU 密集真要并行开多个进程每进程一间独立车间独木桥各归各——multiprocessing 一句话带走不展开。四、泄漏雷终爆24 小时长跑体检第 11 篇记的账“D16 收官项目要长跑一个采集服务——真程序连跑几天内存曲线平的才是好服务。”4.1 体检怎么做请把看板后端改造成长跑模式 1. 加一个 /health 接口返回当前进程的内存占用RSS 和已运行的秒数 2. 我要把它跑一整天——给出观察方案每隔 10 分钟记录一次 RSS可以写个小脚本自动记 CSV 3. 说明判断标准曲线平通过持续爬升有泄漏嫌疑 先查全局历史列表是不是只增不减——最常见事故。4.2 两把止血刀待命第 11 篇曲线爬升先别慌先查全局history列表只增不减设计 bug不是 Python 的锅——加个上限只留最近 60 秒刀到病除真循环引用泄漏再上gc.collect()第二把刀——先诊断后开刀只认曲线军规五虚拟大≠泄漏泄漏只认长跑曲线。跑一夜。明早看曲线——平的恭喜你写的第一个生产级服务通过了出厂体检。这是结业研究报告里最值钱的一张图。五、全系列总合龙看板跑起来了最后把 15 篇的资产全部收线入柜。5.1 六本登记册大地图#登记册翻什么出处一页表假地址→真格子每个程序独占一层楼的障眼法第 5 篇二FTL逻辑页→物理块SSD 的障眼法第 6 篇三文件系统台账文件名→格子集合第 6 篇四字节码源语言→中间速记语第 10 篇五依赖清单项目→零件来源范围第 14 篇六lock整棵依赖树钉死存档第 14 篇一本比一本离硬件远、离工程近——但每一本干的是同一件事建一张从你手里的名字查到机器里的实体的表。看板的今天psutil 的进程名查 PID、URL 路径查 handler、import 查字节码——你写的每一行代码都在查某种登记册。5.2 机器一栋楼类比总图┌─ 车间(进程/线程工人) ─ 托盘架(栈) 仓库空地(堆) 一栋楼 ───┼─ 格子墙(内存/页表假象) 便签抽屉书架(CPU缓存L1/L2/L3) (计算机) ├─ 仓库(存储: 唱片机HDD/电子开关SSD 六本登记册) ├─ 厨房(CPU: 大厨洗车流水线节拍器) ——— 画工队(GPU) └─ 大门(socket)→四层信封(网络)→对岸的楼上篇给了你硬件的物理真相下篇给了你软件的布景机关。今天看板项目里采样线程是工人、/stats 接口是大门、JSON 是纸箱清单、build.sh 是中央厨房——你在这栋楼里当了一天的物业总管。5.3 雷台账全部清零雷埋于爆于炸出来什么缓冲三雷条子/页缓存/灯跳第 4/6/9 篇第 12 篇syscall 攒车writeback 一条流水线GIL 独木桥第 10 篇本篇三等待占比解释一切泄漏长跑第 11 篇本篇四曲线平的才是好服务四颗雷全部实爆——没有一颗用记住了糊弄过去每颗雷的引信都是一句实测见分晓而实测你都亲手做了。5.4 军规十六条合龙从第 3 篇到本篇防幻觉军规一条条长大今天是点兵总日#军规篇一AI 只生成骨架参数读者自查喂入3二数字换算逐行脚本验算3三只解读规格不编跑分3四不许先报理论值4五虚拟大≠泄漏只认长跑曲线5六不许替你的盘编参数6七不许报理论帧率7八不许猜网络归因8九不许编你机器的进程清单9十语言倍数不许背10十一不许凭代码诊泄漏11十二不许报复制应该几秒12十三回环延迟≠网络性能13十四不许替你背版本号14十五不许保证构建一次成功15十六收官合龙从硬件规格到软件行为一切以实测为准16十六条是一条AI 的话是假设机器的读数才是事实。这句话你现在不用背了——16 篇里每一篇你都用行动执行过它。5.5 世界观收官词上篇收官送你的是“没有任何一处快慢是玄学。”第 8 篇——每个延迟都拆到了物理账单下篇一路讲的是每个布景后面都有通道——每个魔法背后都是你走过的机关障眼法有页表、加速有缓存、并发有调度、可靠有握手。两句合龙就是这 16 篇的全部这台机器没有魔法——只有你能理解、能实测、能亲手再造一遍的机制。从拆开一台机器到给机器挂上自己写的仪表盘你走完的不是 16 篇文章是从用户到主人的那条路。六、结业三件套6.1 研究报告交付物一给你的看板项目写一份结业报告1000 字左右结构照抄请帮我搭一份结业研究报告骨架 1. 做了什么项目一句话 架构图三层 2. 测到什么数字GIL 对决的两种耗时、长跑体检的曲线结论、 构建流水线的耗时——全部贴实测截图 3. 对应哪天学的什么每个数字后面标第 N 篇至少标 8 处 4. 收获与反思哪条军规救过你、哪个雷炸得最疼、下一个想 做什么项目。报告的含金量在第 2~3 节数字必须是你机器上跑出来的军规十六总验收出处必须能对回具体某篇——这份报告同时是你的知识地图实体化。6.2 知识地图交付物二把 5.1/5.2/5.3/5.4 的四张表抄录或重画进你的笔记——登记册、楼、雷、军规——这就是 16 天的知识总拼图。以后忘了任何一块按图索骥回具体某篇补课十分钟后归位。6.3 收官拼图测验10 题交付物三排序题把下列步骤按真实发生顺序排列——① 页表登记 ② 加载器搬成品进车间 ③bash build.sh打包 ④ 采样线程第一次被调度 ⑤pip install拉零件① DNS 查地址 ② 三次握手 ③ make 发现时间戳没变 ④ writeback 脏页刷盘 ⑤ 你在浏览器看见图表填空题答案标出处篇号六本登记册里翻位置的是______、翻语言的是______、翻零件来源的是______。第 5/6/10/14 篇make 的增量靠比较______和 OS 只刷______思想同源。第 12/15 篇线程等 IO 时会______所以 IO 密集多线程能绕开______。第 10/16 篇write() 返回≠落盘数据在______里被标成______由______批量刷盘。第 12 篇框架和库的分界线是框架的你是被调用的——这条原则叫最早干这行的是______。第 14 篇CPU 缓存 L1/L2/L3 是硬件层对程序______的IO 缓冲是软件层______的——思想同源______。第 4/12 篇综合题你的看板前端 1 秒拉一次 /stats——这 1 秒里浏览器、OS、网卡、服务器各自干了什么至少写 6 个环节每个标注出处篇号。用等待占比一个模型解释为什么压测服务器多线程加速比到不了线程数、为什么 psutil 采样多线程可能没提升、什么情况下该开多进程。第 10/13/16 篇✅ 答案折叠点开——每题都标了回家补课的篇号⑤③②①④build.sh 一条命令内部先拉零件⑤、跑测试、最后才打成 zip③——zip 是打包完成的时刻之后目标机器上加载器搬成品②→登记页表①→线程才轮到被调度④第 15/14/2/5/9 篇正解①②④⑤③是干扰项——make 增量构建发生在构建期第 15 篇浏览器此刻拉取的是早已出厂的成品④writeback 是服务器侧后台同时在干的活写访问日志的脏页在刷盘——第 12 篇。此题考构建期 vs 运行期的分界——最容易被忽略的一道墙。位置页表/FTL/文件台账第 5/6 篇语言字节码第 10 篇零件来源依赖清单/lock第 14 篇时间戳脏页第 15/12 篇放锁GIL 独木桥第 10/16 篇页缓存脏页writeback第 12 篇主流程好莱坞原则Don’t call us, we’ll call you操作系统第 14/9 篇透明可见可调摊薄固定成本第 4/12 篇参考链浏览器发请求V8 车间/10→DNS/握手8/13→四层信封封包8→网卡变电信号1/8→回环进服务器大门 accept13→好莱坞原则调你的 handler14→psutil 读/proc 查登记册9→JSON 纸箱清单打包13/14→原路返回→画工队渲染图表7→writeback 落盘不参与此秒但后台在跑12——满 6 个即合格10 个全对说明你已经把这栋楼住熟了压测等待占比高但线程切换有成本、CPU 段仍独木桥13采样psutil 读太快等待占比低放锁省的抵不过切换16CPU 密集等待占比≈0 → 每进程一间车间multiprocessing10/16七、本文总结① 项目即地图四块图表四个器官三层架构三篇功夫——结业项目是全课程知识的实体化不是复习。② 双雷实爆GIL 用等待占比结案两种实测结局都合法、泄漏用长跑曲线结案平的才是好服务——第 10/11 篇的引信全部烧完无一哑炮。③ 总合龙六本登记册一表收线、一栋楼总图归位、军规十六条点兵、没有魔法收官——从用户到主人的路16 篇走完。写在最后系列终章16 篇从拆开一台机器开始到给机器挂上你自己写的仪表盘结束。中间你经历过装机单与带宽金字塔1、开机四幕2、CPU 的功耗墙与缓存阶梯3/4、内存的障眼法5、仓库的伺候账6、一帧画面的诞生7、一封信的四层信封8然后换了视角操作系统的通道9、同一段代码的三种命运10、变量的一生11、三颗雷在一条流水线上合爆12、程序开口说话13、轮子大军14、出厂流水线15、今天的仪表盘16。**上篇教你看见硬件下篇教你住进软件收官篇让你接管整机。**如果你跟完了全部实验——量过延迟、爆过雷、跑过一夜长跑——你已经拥有和任何一台计算机打交道的底气它吓不到你因为你拆过它它骗不到你因为你量过它。这门课没有下一篇了。但你的机器还在跳——/stats每秒返回一次四块图表就是你俩的对话。哪天某个数字不对劲你不会再问怎么办而是问哪一层、哪笔账——那一刻这门课才算真正毕业。专栏《从零看懂计算机》全 16 篇完结。目录见置顶评论知识地图见本篇 6.2——欢迎回来补课随时。附术语速查表收官纪念版·精选 16 词术语一句话出处带宽金字塔各级车道/延迟的物理底账1引导Boot把 OS 从仓库请成活进程2功耗墙主频竞赛的物理终点3缓存阶梯便签→抽屉→书架→图书馆4页表第一本登记册假地址翻真格子5伺候账HDD 随机 13ms 的三步成本6双缓冲画工队后台画、前台翻页7四层信封数据上网络的标准包装8系统调用程序碰硬件的合法通道9三种命运同一行代码的 C/Java/Python 三条路10GIL 独木桥字节码同一时刻只一个线程过10/16writeback脏页批量刷盘灯还在跳的真身12socket 四步造门框→挂牌→营业→迎客13好莱坞原则别打给我们我们会打给你14增量构建时间戳比较变过的才重做15等待占比解释多线程一切的钥匙16常见问题Q看板只能看本机想看别的机器呢把服务端跑在目标机器、端口对局域网开放bind 0.0.0.0你浏览器访问它的 IP——跨机器版本就是对岸换成了别人的楼第 13 篇姿势原样适用注意安全监控接口别裸奔到公网。Q为什么不用现成监控工具Prometheus 等它们是用轮子第 14 篇完全合法本篇是造轮子教学目的——造过一遍再用轮子时你看得懂它每个零件在干嘛。Q1 秒采样会不会漏掉瞬间尖峰会采样窗口内的脉冲看不见——想抓尖峰要更快采样或事件钩子这是采样频率 vs 观察目标的经典权衡先用你的数字说话军规十六。Q长跑 24 小时太久了教学最小版可以缩到 1 小时看趋势但真生产级的信心要靠真时长——第 11 篇的口径曲线平的才是好服务时长你自己定。Q下一步学什么顺着本系列的三条岔路任选造更多轮子框架/容器第 14/15 篇延长线、把看板变真产品数据库/认证/部署、或回到第 1 篇再拆一台新机器ARM——知识地图在你手里路由自己选。Q报告写不出来怎么办先把 6.3 测验做一遍——哪题卡壳答案里标了篇号补完那一篇再回来写报告自然就出来了。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。