当前位置:首页>Linux>说出来你可能不信,Linux 源码早就飙过 4000 万行了

说出来你可能不信,Linux 源码早就飙过 4000 万行了

  • 2026-07-03 10:44:29
说出来你可能不信,Linux 源码早就飙过 4000 万行了

🐂这里是「你牛克斯」: 专注于分享Linux生鲜,记得关注我

在绝大多数普通人的感知里,这个世界的数字化是由微软的 Windows、苹果的 iOS 以及各种花哨的手机 App 构成的。但事实恰恰相反。当你在微信上发送一条消息,当你在抖音上刷新一个视频,当马斯克的 Falcon 火箭腾空而起,当华尔街的量化交易系统在微秒间吞吐数亿美金——在这些繁华的文明表象之下,真正充当心脏和骨骼的,是一个绝大多数普通人一生都不会直接面对的名字:Linux 内核

一、背景

1991 年,21 岁的芬兰小伙林纳斯·托瓦兹(Linus Torvalds)在新闻组发帖,说自己做了一个免费的操作系统的“小玩具”,“不会很大,也不专业”。那时候的 Linux 0.01 版本,只有 10,239 行代码。到了 2026 年的今天,最新发布的 Linux 7.0 核心代码树正式突破了 4000 万行(准确说是 3960 万到 4300 万行之间,包含注释和空白)。

如果把 4000 万行代码打印在纸上,能叠到 400 米高,相当于一座帝国大厦;如果一个人不吃不喝每分钟读 60 行,需要 整整 46 年 才能读完。当年那个“小玩具”,现在成了人类历史上最庞大的协作结晶。

从linux 0.01(1991) 到 Linux 4.18(2018)

二、4000万行是什么概念

2025年初,随着 Linux 6.14-rc1 的提交,Linux 内核的源代码正式突破了 40,000,000行(四千万行) 的惊人历史大关。而到了 2026 年 4 月,Linux 7.0 宣告正式发布,这一数字被进一步推向了更深邃的未知领域。

四千万行代码,在人类工程学上是一个奇迹?

  • 物理厚度: 如果将这 4000 万行代码以标准的 4 号字体打印在 A4 纸上,它的厚度将超过 400米。这意味着,你把整座纽约帝国大厦、或者上海金茂大厦塞进服务器,才勉强装得下它的物理实体。

  • 时间尺度: 假设一名资深的软件工程师,不吃不喝不睡觉,以每分钟 60 行的高速、不间断地阅读代码。他需要整整 46年,才能把 Linux 内核从头到尾读一遍。

  • 协作尺度: 这四千万行代码不是由某一家身资产值万亿的超级大厂闭门研发的,而是由全球跨越 1700 多家企业、数万名甚至素未谋面的顶尖极客,在过去 35 年里一刀一斧、共同编织出的“数字通天塔”。

这不仅是一个软件的胜利,这是人类文明历史上规模最宏大、跨度最漫长、参与人数最多的一次无政府主义式的伟大协作

三、那个买不起 Unix 的年轻人

要理解这四千万行的庞大,我们必须把时钟拨回 35 年前。

1991 年的夏天,芬兰赫尔辛基大学的天空总是阴沉沉的。21 岁的小伙子林纳斯·托瓦兹(Linus Torvalds)正陷入一种极度的沮丧中。他当时迷上了 Unix 系统,那是当时世界上最稳定、最强大的操作系统。然而,Unix 是专属大型机和高科技公司的奢侈品,一两万美元的授权费对于一个穷学生来说无异于天方夜谭。

退而求其次的他,只能使用教学用的 Minix 系统。但 Minix 漏洞百出,且原作者坚决不允许别人随意修改。

极客的愤怒往往是生产力。林纳斯做出了一个改变人类科技史的决定:“既然我买不起,那我就自己写一个。”

四、软盘里的 10,239 行代码

林纳斯窝在自己那间只有几平米、堆满可乐罐的卧室里,在台式 386 电脑前开始了疯狂的敲击。他几乎没有宏大的蓝图,他只是想写一个属于自己的、能够压榨出 386 芯片全部性能的“玩物”。

1991 年 8 月 25 日,他在 Usenet 新闻组发出了那封著名的、被后世无数程序员奉为圣经的邮件:

“哈罗,所有使用 minix 的人——我正在做一个免费的操作系统(只是个爱好,不会像 gnu 那样大而专业)……它大概不会移植到 386 之外的任何机器上……”

同年 9 月,Linux 0.01 版本发布。 它的体积小得可怜:总共只有 10,239 行代码。它没有图形界面,没有网络功能,甚至连声音都发不出来,用一张小小的 3.5 英寸软盘就能轻松装下。

那时的林纳斯绝不可能想到,这个被他称为“只是个爱好”的玩具,会在 35 年后像常春藤一样蔓延到整颗星球的每一个角落。

五、代码的疯狂几何级数

年份内核版本代码行数(约)历史节点与行业背景
1991Linux 0.0110,239 行芬兰大学生的个人玩具,纯 C 与汇编编写。
1994Linux 1.017.6 万行首次引入网络协议栈,Linux 开始具备联网能力。
2001Linux 2.4240 万行拥抱企业级多核处理器(SMP),互联网泡沫顶峰。
2011Linux 3.01500 万行智能手机革命爆发,Android 底层内核全面接管移动时代。
2015Linux 4.11900 万行云计算与虚拟化技术大爆发,Linux 成为云端绝对霸主。
2020Linux 5.113034 万行5G 与物联网时代,支持的硬件芯片种类达到历史巅峰。
2025Linux 6.144006 万行正式跨越四千万行大关,AI 算力卡驱动大量并入。
2026Linux 7.0超 4100 万行Rust 语言正式确立主流地位,全面适配大模型算力架构。

在这条指数级飙升的曲线背后,是 Linux 征服世界的三个核心战场:

  1. 服务器战役(1995-2005): 凭借着绝对的免费与稳定性,Linux 将高高在上的商业 Unix 赶下了神坛,成为了网景、雅虎、谷歌等第一代互联网巨头赖以生存的土壤。

  2. 移动革命(2007-2015): 谷歌基于 Linux 内核开发了 Android。如今全球超过 30 亿部智能手机里,跳动的都是 Linux 的脉搏。

  3. 云计算与云原生(2015-至今): 亚马逊 AWS、阿里云、腾讯云,以及支撑它们的 Docker 和 Kubernetes 技术,全部长在 Linux 之上。

六、它是怎么从微末走向庞杂的?

面对 4000 万行这个庞然大物,技术界不乏质疑的声音:“Linux 已经变成一座臃肿的‘屎山’了吗?”要回答这个问题,我们需要剖析它的技术架构与演进本质。

4.1 宏内核(Monolithic Kernel)的宿命

计算机科学界关于内核设计有两大流派:微内核(Microkernel)宏内核(Monolithic Kernel)

  • 微内核(如华为鸿蒙、苹果 XNU 的部分组件)主张精简,只把最核心的功能放在内核,其余的放进用户空间。

  • 宏内核(Linux)则反其道而行之:它主张把进程调度、内存管理、虚拟文件系统以及海量的硬件驱动,全部塞进同一个最高权限的内核空间里。

这导致了 Linux 代码分布极其独特的“倒金字塔”结构:

+--------------------------------------------------------+|              设备驱动 (Drivers) —— 约 60% (2400万行)    ||  (显卡、网卡、WiFi、存储、AI芯片驱动及寄存器定义)       |+--------------------------------------------------------+|    体系结构相关代码 (Architecture) —— 约 15% (600万行)   ||  (x86, ARM, RISC-V, MIPS 等硬件平台的适配)            |+--------------------------------------------------------+|  文件系统 (File Systems) —— 约 8% (320万行)             ||  (EXT4, Btrfs, XFS 等)                                 |+--------------------------------------------------------+|  网络协议栈 (Networking) —— 约 7% (280万行)             |+--------------------------------------------------------+| 核心内核 (Core Kernel: 调度器/内存管理) —— 仅 5% (200万行) |+--------------------------------------------------------+| 文档与测试脚本 (Documentation/Tools) —— 约 5% (200万行)  |+--------------------------------------------------------+

也就是说,Linux 真正的心脏(核心调度与内存管理)其实异常精炼,三十年来保持在极高的效率水平。它之所以膨胀到 4000 万行,是因为它的“触角”伸得太长了

为了实现林纳斯最初的梦想——让任何设备都能“即插即用”,Linux 承担了为全世界所有硬件“兜底”的责任。光是 AMD 显卡驱动(AMDGPU),为了把密密麻麻的硬件寄存器参数写进内核,自动生成的代码头文件就占去了数百万行。

七、各大发行版如何应对内核巨人

1. Debian:以逸待劳,克制与坚守上游

Debian 的核心哲学是稳定,面对日益庞大的内核,它的策略是“非必要不修改,最大化依赖上游(Mainline)和长期支持版(LTS)”。

  • 极简补丁策略: Debian 的内核团队非常小,他们几乎不维护任何重大的独有内核特性。Debian 官方内核中只包含极少数用于修复严重 Bug 或安全漏洞的补丁,且这些补丁的目标是最终合并回 Linux 官方主线。

  • 按需精简与模块化: 面对动辄数 GB 的未压缩内核模块,Debian 在默认编译配置中通过关闭不必要的调试信息(如关闭 CONFIG_DEBUG_INFO)来控制二进制体积。同时,它将绝大多数硬件驱动编译为动态模块(.ko),用户用不到的驱动绝不加载,以此减轻内存压力。

2. Fedora:激进追新,工业化的自动化管理

作为红帽(Red Hat)的尝鲜先锋,Fedora 采用“滚动追新”的策略,直接面对内核巨人的每一次呼吸(每一个主线版本迭代)。

  • 内核 ARK 项目(Always Ready Kernel): 为了应对高频更新,红帽和 Fedora 团队引入了自动化流程。通过 GitLab 上的 Kernel-ARK 项目,每日自动拉取 Linux 官方最新的 master 或 -rc(发布候选)分支。

  • CI/CD 自动化测试: 依靠强大的 CKI(Continuous Kernel Integration)持续集成项目,Fedora 在内核打包前会自动运行海量的虚拟化和硬件兼容性测试。一旦测试通过,更新就会在几小时内通过 Koji 编译系统推送到用户端。Fedora 用“现代工业化流水线”代替了传统的人工肉眼审计。

3. Ubuntu:硬件滚动(HWE)与商业化定制

Ubuntu 既要照顾 LTS(长期支持版)用户的五年稳定性,又要照顾新上市的服务器和 PC 硬件。面对这个两难,Canonical 采用了“双轨制”应对策略。

  • HWE(Hardware Enablement)硬件启用机制: 这是一个精妙的妥协。Ubuntu LTS 在发布时会锁定一个较为保守的内核版本,但每隔几个月,它会把来自最新非 LTS 版本 Ubuntu 的全新内核“回溯”移植到 LTS 系统中。这让用户可以自由选择是要“万年不动的稳”,还是“支持最新显卡和 CPU 的新内核”。

  • 云厂商/厂商定制(Derivative Kernels): 面对 AWS、Azure、GCP 以及各类 OEM 巨头,Ubuntu 并没有用一个内核包打天下,而是为他们量身定制了优化内核(如 linux-awslinux-azure)。这些内核精简掉了无关驱动,并塞入了特定云环境的加速补丁,将庞大的内核按场景进行了“切片”。

4. AOSP:降维打击,推翻重来的 GKI 架构

在移动端,内核巨人的碎片化曾让谷歌痛苦不堪——每个 SoC 厂商(高通、联发科)和设备商(三星、小米)都会在内核里魔改出高达 50% 的非主线代码,导致 Android 根本无法统一升级内核。

为此,谷歌在 AOSP 中祭出了终极杀招:GKI(Generic Kernel Image,通用内核镜像)架构

  • 核心与驱动彻底解耦: 从 Android 12(内核 5.10+)开始,谷歌强行将内核一分为二:

    1. GKI 核心(由谷歌直接提供): 纯净的、去除了所有 SoC 和板级芯片代码的通用 Linux 内核二进制镜像,所有手机一模一样。

    2. 供应商模块(Vendor Modules): 厂商的驱动和私有代码,被全部赶出内核核心,变成动态可加载模块(DLKM)。

  • KMI(Kernel Module Interface)接口冻结: 谷歌在特定的内核版本周期内,冻结了内核核心与厂商模块之间的通信接口(KMI)。这样一来,谷歌无需厂商配合,就能直接像更新应用一样,直接为用户的手机升级 Linux 内核核心,从而彻底驯服了移动端的“内核巨人”。

八、C语言的“幽灵”:Linux头顶的达摩克利斯之剑

在讨论 Linux 7.0 的底层重构之前,我们必须先直面一个纠缠了计算机界半个世纪的“幽灵”——C语言的内存安全问题

Linux 诞生于 1991 年,在那个硬件资源极度匮乏的年代,林纳斯别无选择,只能采用 C 语言来编写内核。C 语言赋予了程序员近乎神明的权力:你可以直接越过操作系统,去操纵计算机最底层的物理内存(RAM)。它跑得极快,就像一辆没有挡风玻璃、没有安全带、却能飙到时速 300 公里的超跑。

但这种极致的自由,代价是毁灭性的。在 C 语言的世界里,内存管理全靠程序员的“良心”与“神操”。

只要写代码的人稍微打个盹,就会酿成以下三种技术灾难:

  1. 野指针(Wild Pointer)与悬空指针(Dangling Pointer): 就像你退房之后,手里居然还留着酒店房间的备用钥匙。你随时可以刷卡进去,但这间房现在可能已经住进了别的客人(其他核心数据),你的一举一动都会引发系统崩溃(Kernel Panic)。

  2. 缓冲区溢出(Buffer Overflow): 就像往一个只能装 500 毫升的水杯里倒了 600 毫升的水。多出来的水(恶意代码)会漫出来,打湿并篡改旁边的重要文件。黑客最喜欢利用这种漏洞来窃取服务器的最高控制权。

  3. 双重释放(Double Free): 同一块内存被连续释放了两次,这会导致内核的内存分配机制彻底陷入混乱,甚至直接“死给你看”。

微软和谷歌曾发布过一项令人震惊的联合统计:在过去十几年里,所有操作系统和大型软件报出的严重安全漏洞中,有整整 70% 归咎于 C/C++ 的内存安全问题。

九、Linux 7.0 的三大技术里程碑

在最新发布的 Linux 7.0 中,内核并没有躺在功劳簿上,而是完成了三次惊心动魄的“基因重构”:

1. Rust 语言的“反客为主”

C 语言统治了内核 30 多年。但 C 语言就像一把没有保险栓的手枪,野指针、内存越界、死锁等问题贡献了 Linux 历史上 70% 以上的高危漏洞。 在 Linux 7.0 中,Rust for Linux 彻底摆脱了实验阶段。Rust 凭借其在编译期强行保证内存安全的特性,开始被广泛用于编写新一代的网络驱动和文件系统组件。这无异于在不停止飞机引擎的情况下,把飞机的部分零件换成了高强度钛合金。

2. 调度器大换血:CFS 时代的终结,EEVDF 的全面掌权

在 Linux 7.0 中,服役了近二十年的 CFS(完全公平调度器)被彻底移除,取而代之的是 EEVDF(最早交付的最早虚拟截止日期优先)调度器。 为什么要换?因为现代服务器的 CPU 核心数已经从当年的单核、双核,暴增到了如今的 128 核甚至 256 核。旧的调度器在高并发、极高核心数的 AI 算力集群中,会出现明显的调度延迟。EEVDF 算法通过更复杂的数学模型,确保了超多核环境下的低延迟与高响应。

3. 迈向 AI 与自愈时代

Linux 7.0 加入了大量针对 NPU(神经网络处理单元)和 CXL(计算快连链路)内存分层技术的原生支持。同时,老牌文件系统如 XFS 在 7.0 中引入了惊艳的“在线自愈(Online Repair)”功能,无需停机挂载,即可在运行状态下修复文件系统错误。

十、商业森林里的巨兽:谁在用真金白银喂养Linux?

Linux 证明了一件事:当成千上万个素未谋面的工程师,为了同一个标准,把各自的一行行代码汇聚在一起时,他们就能搭建出支撑起大半个数字世界的通天塔。它不仅是一个软件,更是人类工程学协作的最高奇迹。

开源,在诞生之初带有浓厚的乌托邦色彩:程序员免费写代码,世界免费用软件。但一个需要维持四千万行体量的超大型项目,光靠“用爱发电”是不可能活到今天的。

从“反贼”到“正统”的商业博弈

回看历史,Linux 的商业化是一部惊心动魄的逆袭史。

  • 世纪之交的敌视: 2001 年,微软前 CEO 史蒂夫·鲍尔默曾公开宣称:“Linux 是癌症,它在知识产权层面上附着在它所触及的一切事物上。” 当时的商业巨头们将 Linux 视为破坏软件商业秩序的“疯子”。

  • IBM 的惊天豪赌: 改变风向的关键点发生在 2000 年。IBM 顶着巨大的压力,宣布向 Linux 投资 10 亿美元。IBM 看清了一个商业本质:与其自家花费数十亿研发专属操作系统,不如共同喂养一个开源的、标准的 Linux,然后通过卖服务器硬件和服务来赚钱。 这笔投资彻底扭转了 Linux 被主流商业社会排斥的命运。

  • 世纪大和解: 2018 年,IBM 以 340 亿美元的价格收购了最大的 Linux 服务商红帽(Red Hat)。同年,曾经视 Linux 为癌症的微软,宣布其 Azure 云服务上超过一半的虚拟机运行在 Linux 之上,并高调打出标语:“Microsoft Loves Linux”

十一、谁在贡献 7.0 的代码?

今天的 Linux 内核邮件列表(LKML),早已不是业余爱好者的灌水论坛,而是全球顶级科技巨头顶尖雇员的“华山论剑”。

根据 Linux 基金会近年的统计数据,超过 84% 的内核代码贡献者,是拿著企业薪水的全职工程师。

而在 Linux 7.0 的贡献榜单上,排在前列的巨头名字令人震撼:

  • 英特尔 (Intel) 与 AMD: 为了让自家的 CPU、GPU 和最新的 AI 芯片在数据中心里跑出极限性能,两家公司常年疯狂提交几十万行的驱动和架构代码。

  • 谷歌 (Google) 与 Meta: 他们的动力源于极致的成本控制。通过优化内核的内存管理和网络协议栈,可以让全球数百万台服务器的能耗降低 1%,这省下来的就是数亿美元的真金白银。

  • 华为 (Huawei): 在多核调度、文件系统(如 EROFS)以及鲲鹏芯片适配方面,华为近年来展现出了极其恐怖的底层硬实力,连续多个版本在内核贡献度上蝉联全球前列。

这就是现代科技最微妙的平衡:巨头们在应用层打得头破血流,却在底层的 Linux 代码库里并肩作战、互通有无。 因为他们知道,没有人能独自吞下整个数字世界。

十二、繁华下的深渊:4000万行代码的“中年危机”与退路

然而,在这座四千万行的通天塔顶端,危机正在悄然蔓延。古老的开源帝国,正在迎来它前所未有的“中年危机”。

6.1 孤独的国王与“退休应急预案”

林纳斯·托瓦兹今年已经 50 多岁了。三十多年来,他始终充当着 Linux 的“仁慈独裁者(BDFL)”。 所有的重大代码合并,最后都必须经过他本人的法眼。 面对每天从全球涌来的成千上万条合并请求(PR),这位曾经脾气暴躁的天才,如今也流露出了疲态。

一个残酷的现实摆在开源界见:如果有一天林纳斯病倒了,或者累了,谁能接管这个四千万行的庞大帝国?

代码量太大了,大到这个世界上已经没有任何一个单一人类,能够完全理解 Linux 的每一个技术细节。维护者群体正在陷入严重的“精神内耗(Burnout)”。就在最近,Linux 社区终于出台了一份绝密的“内核延续性计划(Contingency Plan)”——这实际上是一份“后林纳斯时代”的接班人应急预案。这标志着,Linux 正在告别个人英雄主义时代,被迫走向全面官僚化与制度化的防御期。

十三、幽灵后门与安全神话的破灭

开源界一直流传着一条著名的“林纳斯定律”:只要眼睛足够多,所有的 Bug 都会浮出水面。”人们盲目相信,因为代码是公开的,所以它比闭源的 Windows 更安全。

但 4000 万行的体量,彻底打破了这个神话。 2024 年发生的 XZ Utils 后门事件震惊了全球科技界。一名顶级黑客潜伏社区长达三年,通过伪装成热心的维护者,在极其隐蔽的压缩组件代码里植入了可以劫持服务器最高权限的后门。如果不是一名微软工程师在做性能调优时偶然发现那 0.5 秒的延迟异常,这个后门就已经并入主流发行版,给全球互联网带来毁灭性打击。

眼睛确实很多,但是面对四千万行的迷宫,大家都在看自己的一亩三分地,没有人能看清整座迷宫的阴影里藏着什么。

十四、八卦:林纳斯身价超4000万了吗

虽然林纳斯·托瓦兹(Linus Torvalds)当年是以“把 Linux 免费送给全世界”的理想主义形象闻名于世,但他绝对不是一个清贫的苦行僧。根据目前的公开资料与行业估算,林纳斯的身价保守估计在 1.5 亿美元到 2 亿美元(约合人民币 10 亿~14 亿元) 之间。

很多程序员会纳闷:Linux 不是免费开源的吗?他又不用四千万行代码卖授权费,这笔巨额财富是从哪儿来的?

这就不得不提到科技商业史上几次极其浪漫又硬核的“硬币投掷”:

1. 红帽(Red Hat)的“致敬股”:真正的一夜暴富

这是林纳斯人生中最大的一笔横财,充满了戏剧性。

1999 年,Linux 最大的商业发行商红帽公司(Red Hat)准备在纳斯达克上市。为了感谢林纳斯创造了 Linux(红帽全靠这个吃饭),红帽的管理层做出了一个充满人情味的决定:在上市前,直接赠予林纳斯一部分原始股(据说大约在几万到十万股之间)。

红帽上市当天,股价疯狂飙升了 300%。林纳斯持有的这些“致敬股”,价值瞬间飙升到了 2000 万美元 左右。后来,另一家开源巨头 VA Linux 上市时也送了他股票,上市当天再度暴涨,林纳斯的账面身价在那一年直接破了数千万美元。

林纳斯自己后来在自传《只是为了好玩》(Just for Fun)里回忆道:“突然之间,我变成了一个非常有钱的人,这太不可思议了,我甚至不知道该怎么花这笔钱。”

2. 顶级打工人的“天价年薪”

林纳斯现在不需要为任何一家具体的科技巨头(如微软、谷歌)打工,他的唯一职位是 Linux 基金会(Linux Foundation)的研究员(Fellow)。

Linux 基金会是一个由非营利组织,但它背后的金主是全球所有的顶级科技公司(包括微软、华为、谷歌、英特尔、IBM 等)。这些大厂每年向基金会缴纳数百万美元的会费。基金会拿这笔钱给林纳斯发工资,他的公开年薪大约在 150 万美元到 200 万美元(超千万人民币) 之间。他的工作内容非常纯粹:专职坐在家里的豪宅里,审核全球程序员提交的 Linux 内核代码。

3. 他本可以成为“世界首富”

虽然身价几个亿,但如果林纳斯当年有一丁点的商业野心,他的身价其实本可以超越比尔·盖茨。如果他注册了 Linux 的版权: 哪怕全球每一台安卓手机、每一台云服务器只收 1 美元 的授权费,他现在也是千亿美金身价的超级巨富。乔布斯的秘密邀请: 2000 年左右,苹果创始人史蒂夫·乔布斯曾秘密把林纳斯请到苹果总部,开出了极高昂的薪酬和股票期权,邀请他加入苹果开发 macOS 内核,唯一条件是“别搞 Linux 了”。林纳斯觉得苹果的内核写得太烂,且不买乔布斯那种“控制欲”的账,当面拒绝了乔布斯。

总结

Linux 的伟大,不在于它的代码写得多么完美,而在于它证明了一种可能:在这个充满竞争、壁垒、制裁与地缘政治冲突的世界里,人类依然可以通过一种叫做“开源”的契约,把彼此的智慧毫无保留地汇聚在一起。

那四千万行代码里,有硅谷天才的灵光一闪,有中国工程师通宵达旦的汗水,也有欧洲极客在卧室里的突发奇想。它冷冰冰地运行在黑漆漆的机房里,却又滚烫地承载着人类命运共同体最硬核的浪漫。他们用双手,敲出了这个时代的底层逻辑。

互动话题

您认为 Rust 语言能彻底终结 C 语言长达 30 年的内存安全隐患吗?


欢迎在评论区留下你的硬核观点,我们将置顶最深刻的发言!

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 12:46:41 HTTP/2.0 GET : https://f.mffb.com.cn/a/503175.html
  2. 运行时间 : 0.586772s [ 吞吐率:1.70req/s ] 内存消耗:4,841.26kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=fe9410b928d641516bdc0ec4a6f47d1c
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000429s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000703s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.009432s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000350s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000836s ]
  6. SELECT * FROM `set` [ RunTime:0.000372s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000727s ]
  8. SELECT * FROM `article` WHERE `id` = 503175 LIMIT 1 [ RunTime:0.030733s ]
  9. UPDATE `article` SET `lasttime` = 1783054001 WHERE `id` = 503175 [ RunTime:0.009960s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000729s ]
  11. SELECT * FROM `article` WHERE `id` < 503175 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.018830s ]
  12. SELECT * FROM `article` WHERE `id` > 503175 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000551s ]
  13. SELECT * FROM `article` WHERE `id` < 503175 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.035576s ]
  14. SELECT * FROM `article` WHERE `id` < 503175 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.036341s ]
  15. SELECT * FROM `article` WHERE `id` < 503175 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.348433s ]
0.588480s