当前位置:首页>Linux>Linux 内存管理全景:虚拟内存、MMU、页表、TLB 与 huge page 实战

Linux 内存管理全景:虚拟内存、MMU、页表、TLB 与 huge page 实战

  • 2026-08-19 00:33:41
Linux 内存管理全景:虚拟内存、MMU、页表、TLB 与 huge page 实战

前言

你写了一个 malloc(1GB),内核真的立即给了你 1GB 物理内存吗?不,它只是画了一张"地图"。真正分配物理页是当你访问那些地址的时候。

Linux 内存管理是操作系统最复杂的子系统之一。从虚拟地址到物理地址、从 4KB 小页到 1GB 大页、从 TLB 命中到缺页中断——每一层设计都在平衡灵活性性能


PART 01:虚拟内存 —— 每个进程的"幻觉"

每个进程都以为自己独占了整个地址空间:

32位进程 64位进程0x00000000 ┌─────────┐ 0x0000000000000000 ┌──────────────┐ │ 代码+数据 │ │ 代码+数据 │ ├─────────┤ ├──────────────┤ │ 堆 │ │ 堆 │ ├─────────┤ ├──────────────┤ │ ↓ │ │ ↓ │ │ 空闲区域 │ │ 空闲区域 │ │ ↑ │ │ ↑ │ ├─────────┤ ├──────────────┤ │ 栈 │ │ 栈 │0xFFFFFFFF └─────────┘ 0x7FFFFFFFFFFF └──────────────┘

虚拟内存的好处

  1. **隔离**:进程 A 不能访问进程 B 的内存
  2. **简化**:每个进程看到连续的地址空间,不需要关心物理碎片
  3. **共享**:共享库的物理内存只有一份,映射到多个进程的虚拟地址
  4. **惰性分配**:分配虚拟地址不消耗物理内存,用到才给

    # 查看进程虚拟内存布局cat /proc//mapscat /proc//smaps# 更详细(含各段实际物理内存使用)

    PART 02:MMU 与页表

    地址转换

    虚拟地址 0x7F123456 ↓CPU → MMU(内存管理单元) ↓查页表(Page Table ↓物理地址 0x3A000456

    四级页表(4-Level Paging)

    虚拟地址 (64位)┌──────┬──────┬──────┬──────┬──────────┐│ PGD │ PUD │ PMD │ PTE │ 偏移量 ││ 9bit │ 9bit │ 9bit │ 9bit │ 12bit │└──┬───┴──┬───┴──┬───┴──┬───┴──────────┘ ↓ ↓ ↓ ↓ PGD → PUD → PMD → PTE → 物理页 (4KB)

    每个页表项(PTE)映射 4KB 物理页。一个 64 位进程的完整页表,光是页表本身就可能占用几百 MB 内存。

    5-Level Paging(内核 5.0+,Intel Ice Lake+):再多一级,支持 512PB 地址空间:

    PGD → P4D → PUD → PMD → PTE

    PART 03:TLB —— 地址转换的缓存

    为什么需要 TLB

    每次内存访问都需要 MMU 查页表,而查页表本身需要多次内存访问(4 级页表 = 4 次内存访问)。TLB 缓存最近使用的虚拟→物理地址映射。

    没有 TLB: 每次内存访问 → 4 次页表查询 → 400ns有 TLB(命中): 每次内存访问 → 1 次 TLB 查询 → ~1ns

    TLB Miss 的成本

    场景
    延迟
    相对比较
    L1 TLB Hit
    ~1ns
    1x
    L2 TLB Hit
    ~7ns
    7x
    TLB Miss(页表遍历)
    ~80ns
    80x
    TLB Miss + 缺页中断
    ~10us
    10000x

    大页(Huge Page)降低 TLB Miss

    4KB 小页: 1GB 数据 → 262144 个页 → TLB 需要 262144 个条目 TLB 只有 ~50 个条目 → 疯狂 Miss2MB 大页: 1GB 数据 → 512 个大页 → TLB 只占 512 个条目 Miss 大幅减少1GB 大页: 1GB 数据 → 1 个巨页 → TLB 只需要 1 个条目

    PART 04:Huge Page 实战

    透明大页(THP)

    内核自动将 4KB 页合并为 2MB 大页。但 THP 有两大问题

    1. **khugepaged 线程**:扫描内存并合并,消耗 CPU
    2. **内存碎片**:分配不到连续 2MB 时回退到 4KB,导致延迟抖动

    内核自动将 4KB 页合并为 2MB 大页。但 THP 有两大问题

      # 查看 THP 状态cat /sys/kernel/mm/transparent_hugepage/enabled# always [madvise] never# always:内核自动合并所有区域(默认)# madvise:只在 madvise(MADV_HUGEPAGE) 区域使用# never:禁用# 数据库场景建议 neverecho never > /sys/kernel/mm/transparent_hugepage/enabled# 或 madvise(只在显式指定的区域使用)echo madvise > /sys/kernel/mm/transparent_hugepage/enabled

      显式大页(HugeTLB)

      手动预留物理内存作为大页,应用通过 mmap 或 shmget 使用:

      # 预留 1024 个 2MB 大页echo 1024 > /proc/sys/vm/nr_hugepages# 查看预留情况cat /proc/meminfo | grep -i hugeHugePages_Total1024HugePages_Free768HugePages_Rsvd256HugePages_Surp0# 挂载 hugetlbfsmount -t hugetlbfs none /mnt/huge

      MySQL/PostgreSQL 使用大页

      # MySQL 8.0# 确保已预留大页echo 4096 > /proc/sys/vm/nr_hugepages# MySQL 配置large-pages=ON# MySQL 会在启动时锁定大页# PostgreSQL# PG 13+ 支持大页huge_pages = on# PG 会自动通过 mmap 使用大页

      使用大页的性能提升

      使用大页的性能提升

      场景
      4KB 页
      2MB 页
      提升
      Redis GET 吞吐
      120K QPS
      145K QPS
      +21%
      MySQL OLTP 延迟
      2.1ms
      1.5ms
      -29%
      PG 只读查询
      8500 TPS
      10200 TPS
      +20%


      PART 05:缺页中断

      惰性分配的全过程

      ptr = malloc(1GB); // 只分配了虚拟地址,没有物理页ptr[0] = 'a'// 访问这个地址 → CPU 触发缺页中断 // 内核分配物理页 → 建立页表映射 // 返回用户态 → 重新执行访问指令
      # 查看缺页统计cat /proc//stat | awk '{print $10, $12}'# majflt minflt# majflt:主缺页(需要磁盘 IO,慢!)# minflt:次缺页(不需要磁盘 IO,快)

      主缺页 vs 次缺页

      主缺页 vs 次缺页

      类型
      含义
      延迟
      优化
      **次缺页**
      页在内存但未建立映射
      ~1us
      正常
      **主缺页**
      页不在内存,需要从磁盘加载
      ~10ms
      预读、mlock

      # 锁定进程的内存页面防止被换出mlockall(MCL_CURRENT | MCL_FUTURE);# 配置 MySQLmemlock# my.cnf 中设置,防止被 swap

      PART 06:Page Fault 排查

      谁在触发大量缺页

      # 按进程查看缺页次数ps -eo pid,minflt,majflt,cmd --sort=-majflt | head# 实时监控缺页perf stat -e page-faults,major-faults,minor-faults -p

      预读(read-ahead)

      内核检测到顺序读模式时会提前加载更多页:

      # 查看预读参数cat /sys/block/nvme0n1/queue/read_ahead_kb# 默认 128KB# 大文件顺序读场景调高echo 2048 > /sys/block/nvme0n1/queue/read_ahead_kb

      PART 07:内存性能排查工具箱

      PART 07:内存性能排查工具箱

      工具
      作用
      示例
      `/proc/meminfo`
      全局内存使用
      `grep -E "MemTotal
      MemFree
      Cached
      Huge" /proc/meminfo`
      `/proc/<PID>/smaps`
      进程内存详细分布
      `cat /proc/<PID>/smaps \
      grep Pss`
      `numastat`
      NUMA 内存分配统计
      `numastat -p <PID>`
      `perf stat -e TLB-misses`
      TLB Miss 率
      `perf stat -e dTLB-load-misses,iTLB-load-misses -a sleep 5`
      `vmstat 1`
      缺页和 swap 统计
      `vmstat 1`(si/so 列有值说明在 swap)
      `slabtop`
      内核 slab 缓存
      `slabtop -o`


      总结

      内存管理是”层层缓存”的设计:CPU 寄存器  (~1ns)L1/L2/L3 Cache  (~5-40ns)TLB(地址转换缓存)  (~1ns 命中 / 80ns Miss)页表(4 级 / 5 级) 物理内存 (DRAM)  (~100ns)Swap / 磁盘  (~10ms)
      1. **大页**是降低 TLB Miss 最有效的武器
      2. **THP** 有 CPU 开销,数据库场景建议禁用
      3. **HugeTLB** 显式大页适合可预测的内存分配
      4. **缺页**不可避免,但可以减少主缺页

      预告:《OOM Killer 深度剖析:oom_score、oom_adj、cgroup 内存限制与内存超卖》当内存耗尽,内核如何决定杀谁?

      最新文章

      随机文章

      基本 文件 流程 错误 SQL 调试
      1. 请求信息 : 2026-08-21 15:50:55 HTTP/2.0 GET : https://f.mffb.com.cn/a/506497.html
      2. 运行时间 : 0.435474s [ 吞吐率:2.30req/s ] 内存消耗:4,606.30kb 文件加载:140
      3. 缓存信息 : 0 reads,0 writes
      4. 会话信息 : SESSION_ID=7af793fc079d9336d452c6242d73b9f1
      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.000977s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
      2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001382s ]
      3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.005058s ]
      4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000816s ]
      5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001401s ]
      6. SELECT * FROM `set` [ RunTime:0.012036s ]
      7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001774s ]
      8. SELECT * FROM `article` WHERE `id` = 506497 LIMIT 1 [ RunTime:0.006200s ]
      9. UPDATE `article` SET `lasttime` = 1787298655 WHERE `id` = 506497 [ RunTime:0.002169s ]
      10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000702s ]
      11. SELECT * FROM `article` WHERE `id` < 506497 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.007971s ]
      12. SELECT * FROM `article` WHERE `id` > 506497 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.023577s ]
      13. SELECT * FROM `article` WHERE `id` < 506497 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.038736s ]
      14. SELECT * FROM `article` WHERE `id` < 506497 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.028270s ]
      15. SELECT * FROM `article` WHERE `id` < 506497 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.105489s ]
      0.439135s