当前位置:首页>Linux>Linux Page Cache 机制解析:为什么系统会“吃满内存”

Linux Page Cache 机制解析:为什么系统会“吃满内存”

  • 2026-03-29 10:23:00
Linux Page Cache 机制解析:为什么系统会“吃满内存”

第 1 章:Page Cache 基础与内存管理概述

1.1 Linux 内存管理框架概览

    Linux 内存管理体系是高度模块化的设计,核心由物理内存页(page frame)、伙伴系统(buddy system)、页缓存(Page Cache)以及内存回收机制组成。内核将物理内存划分为固定大小的页(通常为 4KB),并通过伙伴系统维护空闲页的链表,按不同阶(order)组织以便高阶页分配。Page Cache 位于内存管理的核心,用于缓存文件系统中的磁盘块,提高 I/O 性能。通过缓存,内核能够在应用程序访问文件时直接从内存中读取,而无需每次都访问慢速存储。

    Page Cache 的存在使得 Linux 系统会出现“内存被吃满”的表象。实际上,Linux 内核将尽可能多的空闲内存用于缓存,这是内核设计理念中“惰性释放”的体现。通过这种机制,系统在内存紧张时会自动回收缓存页供应用使用,从而避免了内存不足。Page Cache 既缓存磁盘文件的内容,也缓存目录和元数据,通过映射 inode 与物理页形成页表映射。其管理涉及 LRU(最近最少使用)链表、Active/Inactive 队列,以及脏页(Dirty Page)的写回策略。

1.2 页缓存与应用程序内存使用的关系

    应用程序的内存占用与 Page Cache 是相互独立却共享物理内存的两个概念。用户态进程的堆栈、匿名映射(Anonymous Mapping)以及内核态使用的 Page Cache 共同争夺系统内存。当系统运行中,内存闲置时,内核会倾向于将未使用的物理页转化为 Page Cache,从而提升 I/O 性能。这种行为导致 free -m 命令显示的可用内存偏低,而 cached 项却很高,这是 Linux 设计的特性而非内存泄漏。

    Page Cache 的大小与工作集(Working Set)密切相关。工作集是应用程序近期访问的内存页集合,Linux 会根据访问频率将缓存页从 Active 移动到 Inactive 队列,并在内存紧张时触发回收。页面回收依赖内核的 kswapd 守护进程和 direct reclaim 机制,这两者共同维护内存的平衡与 I/O 性能。大规模文件访问、数据库操作、日志写入等都会导致 Page Cache 快速增长,使系统内存“吃满”,但这种现象是可控且可回收的。

第 2 章:Page Cache 结构与数据流

2.1 页缓存数据结构

    Page Cache 的核心数据结构是 struct page,每一个物理页对应一个 struct page 实例。通过 mapping 指针,内核将文件 inode 映射到页缓存页,实现文件内容在内存中的索引。页状态由标志位描述,包括 PG_lockedPG_dirtyPG_uptodate 等,用于区分空闲页、脏页、有效页以及被 I/O 操作占用的页。

    Page Cache 中的页按 LRU 管理,分为 Active 和 Inactive 两条链表。Active 链表包含近期频繁访问的页,Inactive 链表包含长时间未访问的页。在内存压力增大时,内核会首先尝试回收 Inactive 页,脏页则需要通过 pdflush 或者直接写回到磁盘。内核通过 page reclaim 机制遍历 LRU 链表,根据访问频率和脏页比例选择回收目标,从而保证 Page Cache 的有效性和内存利用效率。

2.2 页缓存 I/O 数据流

    当应用程序访问文件时,Linux 首先通过虚拟文件系统(VFS)查询 Page Cache。若缓存命中(Cache Hit),直接从内存读取,极大提高访问速度。若缓存未命中(Cache Miss),内核会通过块设备层(Block Layer)发起 I/O 操作,将磁盘数据加载到 Page Cache,再返回给应用程序。

    写操作则分为同步和异步两类。同步写(O_SYNC)会立即写入磁盘,而异步写会先修改 Page Cache 中的页,并标记为脏页,由 pdflush 或者 background writeback 线程延迟写入磁盘。这种延迟写策略提高了写操作吞吐,但也可能造成内存暂时占用增加。数据流的优化涉及到 read-ahead(预读取)、页回写批处理(batch writeback)和 I/O 调度器配合,以最大化内存和磁盘的协同效率。

第 3 章:LRU 机制与缓存回收策略

3.1 LRU 链表管理

    Linux Page Cache 使用双链表实现 LRU(Least Recently Used)缓存回收策略。Active 链表用于存放近期访问的页,Inactive 链表用于存放访问频率低的页。当内存压力增大时,内核扫描 Inactive 链表,选择长时间未访问的页进行回收。

    LRU 算法在理论上通过访问时间和频率决定页的淘汰顺序,但实际实现中,Linux 采用分级 LRU(Multi-Queue LRU)和标记-重置(Mark-Reset)策略,提高回收效率,避免频繁扫描整个链表带来的开销。此外,内核将匿名页与文件页分开管理,匿名页主要用于堆栈和 mmap 内存映射,文件页主要用于 Page Cache,这种分类有助于在内存紧张时优先回收缓存而不影响程序运行。

3.2 缓存回收与脏页写回

    Page Cache 回收过程中,脏页(Dirty Page)必须先写回磁盘,避免数据丢失。内核使用 kswapd 守护进程和 direct reclaim 两种机制进行回收。kswapd 在后台低优先级运行,扫描 LRU 链表并写回脏页;direct reclaim 则由触发内存分配失败的进程主动执行,通常具有较高的实时性。

    Page Cache 回收策略兼顾 I/O 性能和内存可用性。写回策略包括 writeback 队列、批量 I/O 和回写阈值(dirty_ratio、dirty_background_ratio),通过阈值控制写回速率,平衡磁盘压力和内存占用。回收策略的优化是操作系统性能调优的重要方向,尤其在数据库、大文件处理、虚拟化场景下,合理的 Page Cache 管理可显著提升系统吞吐和响应速度。

第 4 章:工作集与内存压力响应

4.1 工作集概念与内存压力

    工作集(Working Set)是指进程在一定时间窗口内频繁访问的内存页集合。Linux 通过访问频率和时间戳判断页是否属于工作集,并将其保存在 Active LRU 链表中。工作集动态变化,决定了 Page Cache 的活跃页比例。

    当系统内存压力增大时,内核会优先回收 Inactive 页,释放不属于工作集的缓存页。内存压力通常通过 free/used/cached 的统计指标观察,内核会动态调整 LRU 链表的阈值和扫描速率,保证内存分配及时满足新请求,防止 OOM(Out Of Memory)发生。工作集理论帮助我们理解为什么 Linux 会“吃满内存”:缓存页不断增加以优化 I/O,而实际可用内存随时可通过回收释放。

4.2 内存压力触发的回收机制

    内核提供多种内存回收策略应对不同压力等级。kswapd 以后台线程形式执行低优先级扫描,逐步释放 Inactive 页;direct reclaim 由申请内存失败的进程触发,及时回收缓存以满足紧急需求。回收过程中,内核根据页类型、脏页比例、文件页与匿名页比例动态调整回收目标。

    回收机制确保系统在大规模 I/O 或高负载下仍能稳定运行。Linux 采用分层回收策略:先回收文件页,随后考虑匿名页;先回收冷页(Cold Page),保留热页(Hot Page)。同时,内核通过 page_reclaim() 和 try_to_free_pages() 等函数实现回收逻辑,结合 LRU 算法和脏页写回策略,形成完整的内存压力响应链路。

第 5 章:读写优化机制与预读策略

5.1 读操作的 read-ahead 与缓存预取

    Linux 为优化顺序读操作,采用 read-ahead 机制。内核在应用访问某页时,会预测后续访问可能涉及的连续页,并提前加载到 Page Cache 中。read-ahead 通过 filemap_fdataread() 和 block_read_full_page() 实现,将 I/O 请求与缓存填充同步,减少应用等待磁盘的时间。

    read-ahead 提升了磁盘吞吐和应用响应速度,但也会增加 Page Cache 占用。如果预读策略过于激进,可能导致冷页被过早替换,增加回收压力。Linux 内核通过调整 read-ahead 窗口大小、I/O 调度策略和页回收阈值,平衡预读收益与内存占用,确保系统在高 I/O 场景下仍然稳定高效。

5.2 写操作的延迟与批量写回

    写操作的延迟策略是 Linux 提升写性能的核心。应用写入数据后,内核将页标记为脏页并放入 writeback 队列,由后台 pdflush 或 flusher 线程批量写回磁盘。批量写回提高了顺序 I/O 的效率,降低了磁盘寻道和 I/O 调度开销。

    这种策略利用 Page Cache 作为缓冲区,使内存瞬时占用增加,但提升了整体吞吐量。内核通过 dirty_ratio 和 dirty_background_ratio 控制脏页总量和后台写回速度,确保不会耗尽可用内存。理解写延迟与批量写回,有助于解释为什么 Linux 在高写负载下仍然会显示“内存吃满”,但实际上这些页随时可回收。

第 6 章:内存统计与性能监控

6.1 内存统计指标解析

    Linux 提供丰富的内存统计工具,如 freevmstat/proc/meminfo 等。free 输出中,cached 项即 Page Cache 大小,available 项代表在回收缓存页后可供分配的内存。Page Cache 的高占用并不意味着内存紧张,而是内核利用闲置资源提升 I/O 性能的体现。

    正确理解内存指标是系统调优的前提。Slab 缓存、Buffer Cache 与 Page Cache 之间存在层次关系,Slab 管理内核对象,Buffer Cache 管理块设备元数据,Page Cache 管理文件页。监控指标需要结合实际访问模式判断内存压力,以避免误以为系统内存不足而进行错误干预。

6.2 性能优化与调优策略

    针对 Page Cache 高占用场景,内核提供多种调优手段。可通过 vm.dirty_ratiovm.dirty_background_ratio 调整脏页写回阈值,限制缓存占用峰值;通过 vm.vfs_cache_pressure 调整 inode/dentry 回收倾向,影响文件系统缓存回收速度。

    调优策略需结合应用 I/O 模式。如果系统主要处理顺序大文件读写,增大 read-ahead 和 writeback 批量策略可提升吞吐;对于随机小文件访问,则需减少缓存占用以防止缓存抖动。理解 Page Cache 统计与调优原理,有助于在高负载场景下平衡内存使用与 I/O 性能,避免内存资源浪费或过度抢占。

第 7 章:案例分析与实践应用

7.1 高负载系统中的 Page Cache 行为

    在数据库、大文件处理或日志密集型系统中,Page Cache 占用经常超过 80% 物理内存。例如,MySQL 数据库执行大规模查询时,读取表数据会触发大量页缓存命中和回收;日志系统写入大量数据时,会产生脏页并触发批量写回。

    这类场景说明了 Linux 的内存管理理念:空闲内存是浪费的,Page Cache 是内存利用效率提升的工具。理解 Page Cache 的行为,有助于系统管理员通过调整内核参数和 I/O 策略优化性能,并合理解释“内存吃满”的现象,避免误判为内存泄漏。

7.2 实践经验与优化建议

在实际运维中,可通过以下策略优化 Page Cache 行为:

  1. 使用 drop_caches 清理缓存进行短期测试,但避免在生产环境频繁使用。

  2. 调整 vm.dirty_ratio 与 vm.dirty_background_ratio,控制脏页占用,减少写入突发。

  3. 配合 I/O 调度器(Deadline、CFQ、BFQ)优化磁盘访问模式,减少 Page Cache 抖动。

  4. 监控工作集与缓存命中率,通过 LRU 阈值和 read-ahead 调整,平衡性能与内存占用。

    Page Cache 是 Linux 内存管理优化 I/O 性能的关键。理解其结构、数据流、回收策略和调优方法,可以使系统在高负载下保持稳定,避免“吃满内存”引起误解,从而实现内存资源与 I/O 性能的最佳平衡。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-29 14:30:49 HTTP/2.0 GET : https://f.mffb.com.cn/a/483763.html
  2. 运行时间 : 0.135241s [ 吞吐率:7.39req/s ] 内存消耗:4,667.27kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=68badb06ebd6084085c315759d11fb7e
  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.000826s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001329s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000693s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000629s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001341s ]
  6. SELECT * FROM `set` [ RunTime:0.000631s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001468s ]
  8. SELECT * FROM `article` WHERE `id` = 483763 LIMIT 1 [ RunTime:0.001197s ]
  9. UPDATE `article` SET `lasttime` = 1774765849 WHERE `id` = 483763 [ RunTime:0.008225s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000670s ]
  11. SELECT * FROM `article` WHERE `id` < 483763 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001505s ]
  12. SELECT * FROM `article` WHERE `id` > 483763 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.002204s ]
  13. SELECT * FROM `article` WHERE `id` < 483763 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.005215s ]
  14. SELECT * FROM `article` WHERE `id` < 483763 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.010515s ]
  15. SELECT * FROM `article` WHERE `id` < 483763 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.010990s ]
0.139072s