当前位置:首页>Linux>Linux内核devfs、sysfs、proc虚拟文件系统简介

Linux内核devfs、sysfs、proc虚拟文件系统简介

  • 2026-02-06 08:52:45
Linux内核devfs、sysfs、proc虚拟文件系统简介

1. 概述

在Linux系统中,devfs、sysfs、proc均属于虚拟文件系统(Virtual File System, VFS),它们并非基于物理存储介质(如硬盘),而是由内核动态创建和维护,用于内核与用户空间之间的通信、系统状态展示及硬件设备管理。三者本质上是内核暴露给用户空间的“接口”,用户可通过标准的文件操作(读、写、查看)与内核交互,无需直接调用复杂的系统调用或操作内核源码。

三者的核心定位各有侧重:proc侧重于展示系统运行状态和进程信息,sysfs侧重于硬件设备的层次化管理和设备属性暴露,devfs侧重于简化设备文件的创建与管理(后被udev+sysfs替代,但仍有历史应用场景)。本文将详细拆解三者的技术细节、差异及适用场景,为系统开发、调试及运维提供参考。

2. 各文件系统详细解析

2.1 proc文件系统

2.1.1 概念

proc文件系统(Process File System)是Linux最早引入的虚拟文件系统之一,首次出现在Linux 2.1版本,其核心设计理念是“以文件形式抽象进程和系统状态”。proc不占用实际磁盘空间,所有文件和目录均由内核在内存中动态生成,当用户读取或操作这些文件时,内核会实时计算并返回对应信息;当系统重启后,proc下的内容会重新初始化。

2.1.2 核心功能

  • 进程信息展示:每个运行中的进程在proc下会对应一个以进程PID(进程ID)命名的目录(如/proc/1对应init进程,/proc/1234对应PID为1234的进程),目录内包含多个文件,用于展示进程的详细信息:

    • cmdline:进程启动时的命令行参数;

    • status:进程的状态(运行、睡眠、僵尸等)、PID、PPID(父进程ID)、内存占用等;

    • maps:进程的内存映射表,展示进程占用的虚拟内存区域;

    • fd:进程打开的文件描述符列表(软链接形式,指向实际文件)。

  • 系统全局状态展示:proc下包含多个全局文件,用于展示系统整体运行状态:

    • /proc/cpuinfo:CPU的详细信息(型号、核心数、缓存大小等);

    • /proc/meminfo:系统内存使用情况(总内存、空闲内存、缓存、交换分区等);

    • /proc/loadavg:系统负载平均值(1分钟、5分钟、15分钟负载);

    • /proc/filesystems:系统支持的文件系统类型;

    • /proc/sys:系统内核参数配置目录(可通过修改该目录下的文件临时调整内核参数,如/proc/sys/net/ipv4/ip_forward控制IP转发)。

  • 内核调试与诊断:proc提供了内核内部状态的访问接口,开发人员可通过读取相关文件排查内核问题,例如/proc/kmsg用于查看内核日志(需root权限),/proc/stat用于查看系统各类资源的统计信息(CPU占用、磁盘I/O、进程切换等)。

2.1.3 工作原理

proc文件系统挂载于/proc目录,内核启动时会初始化proc的超级块(super block),并注册对应的文件操作函数(如read、write、open)。当用户空间程序通过open()打开/proc下的某个文件时,内核会调用proc注册的open函数,根据文件路径确定对应的“信息生成逻辑”;当调用read()函数时,内核会实时采集对应的进程或系统状态,生成文件内容并返回给用户空间;写入操作(如修改/proc/sys下的参数)则会触发内核对应的参数更新逻辑,完成配置生效。

proc的特点是“按需生成”,即只有当用户访问某个文件时,内核才会计算并生成内容,无需提前占用内存存储所有信息,因此内存开销较低。

2.1.4 特点与局限

特点

  • 轻量级:不占用磁盘空间,内容按需生成,内存开销小;

  • 实时性:所有信息均由内核实时生成,能准确反映系统当前状态;

  • 易用性:通过标准文件操作即可访问内核信息,无需额外工具;

  • 功能全面:覆盖进程、内存、CPU、内核参数等各类系统信息。

局限

  • 接口不规范:proc下的文件格式、命名规则缺乏统一标准,不同版本Linux可能存在差异,不利于程序自动化解析;

  • 功能混杂:进程信息、系统状态、内核参数混杂在同一目录下,层次不够清晰;

  • 可扩展性差:新增内核功能时,难以在proc下以统一的方式暴露接口,易导致目录结构混乱。

2.2 sysfs文件系统

2.2.1 概念

sysfs文件系统首次出现在Linux 2.6版本,是为解决proc文件系统的局限性而设计的,核心定位是“以层次化结构展示硬件设备和内核子系统的关系”。sysfs同样是虚拟文件系统,挂载于/sys目录,由内核动态维护,其设计遵循“统一接口、层次清晰”的原则,将硬件设备、驱动程序、内核子系统之间的关系以文件和目录的形式抽象出来,便于用户和程序理解与操作。

sysfs的核心价值的是“设备模型抽象”,它将Linux系统中的所有硬件设备组织成一棵层次化的树状结构,每个设备对应一个目录,设备的属性(如厂商、型号、状态)对应目录下的文件,驱动程序与设备的关联关系也通过目录结构体现。

2.2.2 核心功能

  • 硬件设备的层次化管理:sysfs的核心目录结构围绕设备模型展开,关键目录如下:

    • /sys/devices:所有设备的根目录,按设备连接的总线类型(如PCI、USB、I2C)组织,每个设备对应一个子目录,包含设备的所有属性文件;

    • /sys/bus:系统总线目录,每个总线类型(如pci、usb)对应一个子目录,包含该总线上所有设备和驱动的关联信息;

    • /sys/drivers:系统中所有已加载的驱动程序目录,每个驱动对应一个子目录,包含驱动支持的设备列表;

    • /sys/class:按设备功能分类的目录(如net、block、input),每个功能类对应一个子目录,包含该类下所有设备的软链接(指向/sys/devices下的实际设备目录),便于按功能查找设备(如/sys/class/net包含所有网络设备);

    • /sys/dev:按设备类型(字符设备、块设备)分类的目录,包含设备号与设备目录的关联(如/sys/dev/char对应字符设备)。

  • 设备属性暴露与配置:每个设备目录下包含多个属性文件,用于展示和配置设备的参数,例如:

    • vendor:设备厂商ID;

    • model:设备型号;

    • power/control:设备电源管理配置(可设置为on/off控制设备电源);

    • uevent:设备事件触发文件(写入特定内容可触发udev事件,用于设备热插拔管理)。

  • 内核子系统状态展示:除硬件设备外,sysfs还暴露了内核子系统的状态,例如/sys/fs展示文件系统相关信息,/sys/kernel展示内核核心子系统(如kexec、debug)的状态,/sys/module展示系统中已加载的内核模块信息。

  • 替代devfs的设备管理功能:sysfs与udev配合,实现了设备文件的动态创建与管理,替代了传统devfs的功能,且更灵活、可扩展。

2.2.3 工作原理

sysfs基于Linux内核的“设备模型(Device Model)”实现,内核启动时会初始化设备模型的核心数据结构(kobject、kset、kobj_type),并将这些数据结构与sysfs的目录、文件关联起来。kobject是设备模型的最小单元,每个kobject对应sysfs下的一个目录;kset是kobject的集合,对应sysfs下的子目录;kobj_type定义了kobject的属性和操作函数,对应sysfs下的属性文件。

当内核检测到新设备(如插入USB设备)时,会创建对应的kobject,并将其挂载到设备模型树中,sysfs会自动在/sys/devices下创建对应的目录,并根据kobj_type生成属性文件;当设备被移除时,内核会删除对应的kobject,sysfs也会自动删除对应的目录和文件。用户空间程序通过读取属性文件获取设备信息,通过写入属性文件配置设备参数(需root权限),写入操作会触发kobj_type注册的write函数,完成参数更新。

2.2.4 特点与优势

  • 层次清晰:以树状结构组织设备、驱动、总线,逻辑严谨,便于理解和查找;

  • 接口规范:属性文件的命名、格式统一,不同版本Linux兼容性好,便于程序自动化解析;

  • 可扩展性强:新增设备、驱动或内核子系统时,可通过注册kobject轻松在sysfs下暴露接口,无需修改现有结构;

  • 功能聚焦:专注于硬件设备和内核子系统的管理,与proc的“系统状态展示”形成互补;

  • 配合udev:与udev机制深度集成,实现设备热插拔、设备文件动态创建(替代devfs)。

2.3 devfs文件系统

2.3.1 概念

devfs文件系统(Device File System)是早期Linux系统中用于设备文件管理的虚拟文件系统,首次出现在Linux 2.4版本,挂载于/dev目录。其核心目的是解决“传统/dev目录下设备文件需手动创建(如mknod命令)”的问题,由内核自动检测硬件设备,并在/dev目录下动态创建对应的设备文件(字符设备、块设备),用户无需手动干预。

devfs的设计理念是“内核主导设备文件管理”,内核通过驱动程序检测到设备后,直接在devfs中创建设备文件,设备文件的命名、权限由内核控制。但由于其设计存在诸多缺陷,在Linux 2.6版本后,devfs被“sysfs + udev”组合替代,目前仅在部分嵌入式系统(如老旧的嵌入式Linux)中仍有应用。

2.3.2 核心功能

  • 自动创建设备文件:内核启动或检测到新设备(热插拔)时,自动在/dev目录下创建对应的设备文件,无需用户手动执行mknod命令;

  • 设备文件自动删除:当设备被移除(如拔出USB设备)时,内核自动删除/dev目录下对应的设备文件,避免无效设备文件残留;

  • 设备命名标准化:内核按统一规则命名设备文件(如/dev/hda对应第一块IDE硬盘,/dev/ttyS0对应第一个串口),简化用户对设备的识别;

  • 权限管理:devfs可通过配置文件(如/devfsd.conf)设置设备文件的默认权限和所有者,无需手动修改chmod、chown。

2.3.3 工作原理

devfs挂载于/dev目录,内核启动时会初始化devfs的超级块,并注册设备检测回调函数。当驱动程序加载并检测到设备时,会调用devfs提供的接口(如devfs_register),向devfs注册设备信息(设备类型、设备号、设备名称);devfs收到注册请求后,在/dev目录下创建对应的设备文件,并关联设备号和驱动程序;当设备被移除时,驱动程序调用devfs_unregister接口,devfs删除对应的设备文件。

devfs的设备文件本质上是内核维护的“设备节点映射表”,用户空间程序通过访问/dev下的设备文件,即可与对应的驱动程序交互,完成设备操作(如读写磁盘、操作串口)。

2.3.4 特点与缺陷

特点

  • 易用性高:自动创建/删除设备文件,无需用户手动管理,降低设备使用门槛;

  • 轻量化:核心功能聚焦于设备文件管理,实现简单,内存开销小;

  • 适配嵌入式场景:适合资源有限的嵌入式系统,无需额外的用户空间工具(如udev)。

缺陷(导致被替代)

  • 内核耦合度高:设备文件的管理逻辑嵌入内核,修改设备命名规则、权限配置等需修改内核源码,可扩展性差;

  • 功能单一:仅能管理设备文件,无法展示设备属性、驱动与设备的关联关系等信息;

  • 灵活性差:设备命名规则固定,无法根据用户需求自定义命名(如将USB硬盘命名为/dev/usb_disk);

  • 调试困难:设备管理逻辑在内核态,出现问题时难以排查,且缺乏用户空间调试工具;

  • 热插拔支持不完善:对复杂设备的热插拔场景(如多设备同时插入)支持不佳,易出现设备文件混乱。

3. 三者核心差异对比

对比维度
proc文件系统
sysfs文件系统
devfs文件系统
核心定位
展示系统运行状态、进程信息、内核参数
层次化管理硬件设备、驱动、总线,暴露设备属性
自动创建/删除设备文件,管理/dev目录
挂载目录
/proc
/sys
/dev
设计理念
以文件抽象进程和系统状态,按需生成内容
基于设备模型,层次化、规范化暴露接口
内核主导,自动管理设备文件,简化用户操作
核心功能
1. 进程信息查询;2. 系统状态展示;3. 内核参数临时配置;4. 内核调试
1. 设备层次化管理;2. 设备属性暴露与配置;3. 驱动与设备关联展示;4. 配合udev实现热插拔
1. 自动创建/删除设备文件;2. 设备文件命名标准化;3. 设备权限默认配置
可扩展性
差,接口不规范,新增功能易导致结构混乱
强,基于kobject模型,新增设备/驱动可轻松扩展接口
差,逻辑嵌入内核,修改需改源码
当前状态
主流Linux均支持,核心功能保留,仍是系统调试、状态查询的核心工具
主流Linux默认支持,替代devfs,是硬件设备管理的核心接口
已被淘汰,仅部分老旧嵌入式系统仍有应用
依赖工具
无需额外工具,直接通过文件操作访问
与udev配合,实现设备文件动态管理
无需额外工具,内核直接管理

4. 应用场景实战

4.1 proc的典型应用

  • 查看CPU信息:cat /proc/cpuinfo,可获取CPU型号、核心数、缓存大小等,用于系统硬件排查;

  • 查看内存使用:cat /proc/meminfo,可获取总内存、空闲内存、缓存、交换分区使用情况,用于内存监控;

  • 排查进程问题:ls /proc/[PID] 或 cat /proc/[PID]/status,可查看进程状态、内存占用、打开的文件,用于排查进程卡死、内存泄漏等问题;

  • 临时调整内核参数:echo 1 > /proc/sys/net/ipv4/ip_forward,临时开启IP转发(重启后失效),用于测试网络配置。

4.2 sysfs的典型应用

  • 查看设备信息:ls /sys/class/net,可查看所有网络设备;cat /sys/class/net/eth0/carrier,可查看网卡连接状态(1为连接,0为断开);

  • 配置设备电源:echo off > /sys/devices/pci0000:00/0000:00:1d.0/usb1/power/control,关闭USB总线的电源(需root权限),用于节能或设备调试;

  • 查看驱动与设备关联:ls /sys/bus/pci/drivers,可查看PCI总线的所有驱动,进入对应驱动目录可查看支持的设备;

  • 触发udev事件:echo "add" > /sys/devices/pci0000:00/0000:00:1d.0/usb1/uevent,触发udev对该USB设备的重新识别,用于设备热插拔调试。

4.3 devfs的典型应用(仅老旧系统)

  • 查看已识别设备:ls /dev,可查看内核自动创建的所有设备文件,确认设备是否被识别;

  • 配置设备文件权限:修改/devfsd.conf配置文件,设置/dev/ttyS0的默认权限为666,允许普通用户访问串口;

  • 设备热插拔测试:插入USB设备后,查看/dev目录下是否自动生成对应的设备文件(如/dev/sdb),确认热插拔功能是否正常。

5. 总结与注意事项

5.1 总结

proc、sysfs、devfs均是Linux内核暴露给用户空间的虚拟文件系统,三者各司其职、互补共生:

  • proc:专注于“系统状态展示与调试”,是运维、开发人员排查系统问题的核心工具;

  • sysfs:专注于“硬件设备层次化管理”,是现代Linux系统设备管理的核心接口,与udev配合替代了devfs;

  • devfs:早期设备文件管理工具,因可扩展性差、内核耦合度高被淘汰,仅在老旧嵌入式系统中残留。

5.2 注意事项

  • proc和sysfs的内容均为内核动态生成,不要手动创建、修改或删除/proc、/sys下的文件/目录,否则可能导致内核崩溃或系统异常;

  • 通过proc修改的内核参数均为临时生效,重启系统后会恢复默认值,若需永久生效,需修改/etc/sysctl.conf配置文件;

  • sysfs的设备属性文件部分仅支持读取,部分支持写入,写入操作需root权限,且需确认写入内容的格式(如电源控制仅支持on/off),避免无效写入;

  • 现代Linux系统中,/dev目录由udev管理(基于sysfs),而非devfs,若需自定义设备文件命名、权限,需配置udev规则(/etc/udev/rules.d/),而非依赖devfs;

  • 不同版本Linux的proc、sysfs接口可能存在细微差异,编写自动化脚本时,需适配对应系统版本,避免因接口变化导致脚本失效。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-07 12:16:39 HTTP/2.0 GET : https://f.mffb.com.cn/a/473846.html
  2. 运行时间 : 0.592727s [ 吞吐率:1.69req/s ] 内存消耗:4,652.20kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=85a15d936b7077344c42932df77008c8
  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.000607s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000749s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.010958s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.065749s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000773s ]
  6. SELECT * FROM `set` [ RunTime:0.016569s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000761s ]
  8. SELECT * FROM `article` WHERE `id` = 473846 LIMIT 1 [ RunTime:0.060343s ]
  9. UPDATE `article` SET `lasttime` = 1770437799 WHERE `id` = 473846 [ RunTime:0.061470s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.005440s ]
  11. SELECT * FROM `article` WHERE `id` < 473846 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.019301s ]
  12. SELECT * FROM `article` WHERE `id` > 473846 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.066148s ]
  13. SELECT * FROM `article` WHERE `id` < 473846 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.134666s ]
  14. SELECT * FROM `article` WHERE `id` < 473846 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.009942s ]
  15. SELECT * FROM `article` WHERE `id` < 473846 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.070905s ]
0.594326s