当前位置:首页>Linux>深入 Linux 内核:/proc 文件系统故障排查全攻略

深入 Linux 内核:/proc 文件系统故障排查全攻略

  • 2026-03-26 09:14:08
深入 Linux 内核:/proc 文件系统故障排查全攻略

深入 Linux 内核:/proc 文件系统故障排查全攻略

作为运维工程师,你是否遇到过这样的场景:CPU 突然飙升却找不到具体进程?内存泄漏导致 OOM 但定位困难?网络连接异常却不知从何查起?今天我们来聊聊 Linux 系统的"黑匣子"——/proc 文件系统,以及如何在生产环境中利用它快速定位问题。


/proc 是什么?

基本概念

/proc 是 Linux 内核提供的一个虚拟文件系统(procfs),它并不存储在磁盘上不占用磁盘空间,而是内核动态生成的运行时信息接口。通过读取这些"文件",可以直接窥探内核状态和进程详情。

# 查看 proc 文件系统挂载情况$ mount | grep procproc on /proc type proc (rw,nosuid,nodev,noexec,relatime)

核心特性

特性
说明
实时性
数据由内核动态生成,反映系统当前状态
零开销
不占用磁盘 I/O,读取速度快
可读写
部分文件可写入,用于调整内核参数
权限控制
普通用户只能查看自己的进程,root 可查看全部

/proc 核心目录结构详解

/proc/├── 1/                    # PID 为 1 的进程目录(systemd/init)├── 1234/                 # 普通进程目录│   ├── cmdline           # 启动命令行参数│   ├── cwd -> /app       # 当前工作目录(软链接)│   ├── exe -> /bin/bash  # 可执行文件路径(软链接)│   ├── fd/               # 文件描述符目录│   ├── maps              # 内存映射信息│   ├── status            # 进程状态摘要│   └── ...├── cpuinfo               # CPU 详细信息├── meminfo               # 内存使用统计├── loadavg               # 系统负载├── net/                  # 网络相关统计├── sys/                  # 内核可调参数└── vmstat                # 虚拟内存统计

/proc 常用命令

系统基础信息

/proc/cpuinfo:CPU 硬件信息

cat /proc/cpuinfo                    # 查看详细 CPU 信息grep "model name" /proc/cpuinfo     # 查看 CPU 型号grep "processor" /proc/cpuinfo | wc -l    # 查看 CPU 核心数cat /proc/loadavg                    # 查看 1/5/15 分钟负载awk '{print $1}' /proc/loadavg       # 查看 1 分钟负载

/proc/meminfo:内存总大小、空闲、缓存、Swap 等状态

cat /proc/meminfo                    # 查看完整内存信息grep "MemTotal" /proc/meminfo       # 查看总内存grep "MemAvailable" /proc/meminfo   # 查看可用内存

/proc/uptime:系统启动总时间、空闲时间

cat /proc/uptime                     # 查看启动时间和空闲时间awk '{print $1/3600"小时"}' /proc/uptime    # 计算启动小时数

/proc/cmdline:内核启动参数

cat /proc/cmdline                    # 查看完整启动参数cat /proc/filesystems                # 查看支持的文件系统

/proc/stat:系统整体 CPU 使用率、中断、进程切换统计

cat /proc/stat# 查看完整统计信息grep "cpu" /proc/stat# 查看 CPU 使用情况

/proc/mounts:当前已挂载文件系统列表

cat /proc/mounts                     # 查看挂载信息grep "/data" /proc/mounts            # 查看特定挂载点

进程相关信息

/proc/[PID]/cmdline:进程启动命令与参数

cat /proc/1234/cmdline | tr '\0'' '# 查看进程启动命令cat /proc/1234/status                # 查看完整状态grep "VmRSS" /proc/1234/status      # 查看实际内存使用cat /proc/1234/maps                  # 查看内存映射grep "stack" /proc/1234/maps         # 查看栈内存

**/proc/[PID]/fd/**:进程打开的文件描述符列表

ls -la /proc/1234/fd/                # 查看打开的文件ls -la /proc/1234/fd/ | grep socket  # 查看网络连接cat /proc/1234/limits                # 查看资源限制grep "Max open files" /proc/1234/limits    # 查看文件句柄限制

/proc/[PID]/environ:进程环境变量

cat /proc/1234/environ | tr '\0''\n'# 查看环境变量

/proc/[PID]/io:进程 I/O 统计

cat /proc/1234/io                    # 查看 I/O 统计信息

/proc/[PID]/sched:进程调度信息与优先级

cat /proc/1234/sched# 查看调度信息

网络相关信息

/proc/net/dev:网卡流量、错误、丢包统计

cat /proc/net/dev                    # 查看网络设备统计grep "eth0" /proc/net/dev           # 查看特定网卡信息

/proc/net/tcp:TCP 连接表

cat /proc/net/tcp                    # 查看 TCP 连接awk '{print $2, $3, $4}' /proc/net/tcp    # 查看连接状态

/proc/net/udp:UDP 连接表

cat /proc/net/udp                    # 查看 UDP 连接

/proc/net/route:内核路由表

cat /proc/net/route                  # 查看路由表

/proc/net/arp:ARP 表

cat /proc/net/arp                    # 查看 ARP 缓存

/proc/net/netstat:网络栈统计

cat /proc/net/netstat                # 查看网络统计信息

/proc/net/sockstat:套接字使用统计

cat /proc/net/sockstat               # 查看套接字使用情况grep "TCP" /proc/net/sockstat        # 查看 TCP 套接字

文件系统与资源限制

**/proc/sys/fs/**:文件句柄

cat /proc/sys/fs/file-max         # 系统最大文件句柄数ulimit -a                         # 一并查询当前用户的文件句柄# 深入分析具体进程(假设 PID 为 9876)ls -la /proc/9876/fd/ | wc -l      # 总句柄数ls -la /proc/9876/fd/ | grep -E "socket|pipe" | wc -l  # 网络连接和管道数ls -la /proc/9876/fd/ | grep -E "log|txt|json" | head -20  # 查看打开的文件cat /proc/9876/limits | grep "Max open files"# 查看进程的文件描述符限制

进程线程分析

查看进程数

cat /proc/1234/status | grep Threads # 查看进程线程数ps -L -p 1234 -o pid,tid,pcpu,comm | sort -k3 -nr | head -10 # 查看所有线程的 CPU 使用情况pstack 1234 > thread_stacks.txt # 查看线程栈信息(需要 gdb 或 pstack)cat /proc/1234/task/*/status | grep -E "VmRSS|Name" | head -30 # 查看线程内存使用cat /proc/1234/task/5678/sched# 查看线程调度策略cat /proc/1234/syscall  # 查看进程当前系统调用 grep -E "^[0-9]+\s+" /usr/include/asm/unistd_64.h | head -20  # 系统调用号对应表strace -p 1234 -c      # 统计系统调用次数和时间strace -p 1234 -t -e trace=open,read,write # 追踪特定系统调用cat /proc/1234/io      # I/O 相关系统调用统计cat /proc/1234/stat# 进程状态,包含系统调用相关信息perf trace -p 1234 sleep 5 # 分析系统调用延迟

生产环境实战

以下故障排查方法主要用于展示 /proc 文件系统中的关键信息,实际排查问题时根据自己习惯即可。

CPU 飙升定位

现象top 显示 CPU 使用率 90%+,需要快速定位罪魁祸首

排查步骤

# 1. 查看整体 CPU 信息$ cat /proc/cpuinfo | grep "processor" | wc -l    # 查看逻辑 CPU 核心数$ cat /proc/loadavg                               # 查看 1/5/15 分钟负载2.50 2.30 2.10 4/256 12345# 2. 定位高 CPU 进程(按 CPU 排序)$ ps aux --sort=-%cpu | head -10# 3. 深入具体进程(假设 PID 为 1234)$ cat /proc/1234/status | grep -E "Pid|PPid|Threads|voluntary_ctxt_switches"$ cat /proc/1234/schedstat                          # 查看调度统计$ cat /proc/1234/task/*/stat | awk '{print "线程 "$1" CPU时间: "($14+$15)/100"秒"}'# 4. 查看进程启动命令(确认是什么服务)$ cat /proc/1234/cmdline | tr '\0'' ' && echo/usr/bin/java -Xmx4g -jar /opt/app/service.jar# 5. 查看进程打开的文件(排查是否在疯狂读写)$ ls -la /proc/1234/fd/ | wc -l$ ls -la /proc/1234/fd/ | grep -E "log|txt"

关键指标解读

  • /proc/[pid]/stat 中的第 14、15 列:用户态/内核态 CPU 时间片
  • voluntary_ctxt_switches:主动上下文切换次数(高 = 可能 IO 等待)
  • nonvoluntary_ctxt_switches:被动切换次数(高 = CPU 争抢严重)

内存泄漏与 OOM 分析

现象:系统内存持续增长,free 显示可用内存不足,触发 OOM Killer

排查步骤

# 1. 查看系统整体内存状况$ cat /proc/meminfo | head -20MemTotal:       16384000 kBMemFree:          204800 kBMemAvailable:    1024000 kBBuffers:          512000 kBCached:          4096000 kBSwapCached:            0 kBActive:          8192000 kBInactive:        4096000 kBActive(anon):    7680000 kB    # 匿名页(进程堆栈)高 = 可能泄漏Inactive(anon):   256000 kB# 2. 查看各进程内存使用(RSS 为实际物理内存)for pid in $(ls /proc | grep -E "^[0-9]+$"); doif [ -f "/proc/$pid/status" ]; thenecho"$pid$(grep VmRSS /proc/$pid/status 2>/dev/null | awk '{print $2}')$(cat /proc/$pid/comm 2>/dev/null)"fidone | sort -k2 -nr | head -10# 3. 深入可疑进程(假设 PID 5678 内存异常高)$ cat /proc/5678/status | grep -E "VmRSS|VmSize|VmData|VmStk|VmExe|Threads"VmSize:  8388608 kB    # 虚拟内存总量VmRSS:   4194304 kB    # 实际物理内存(RSS)VmData:  7864320 kB    # 数据段大小(堆内存)VmStk:     132 kB      # 栈大小Threads:    50         # 线程数# 4. 查看内存映射(定位大内存块)$ cat /proc/5678/maps | sort -k5 -n | tail -20$ cat /proc/5678/smaps_rollup | grep -E "Rss|Private_Dirty|Anonymous"# 5. 查看 OOM 评分(值越大越容易被 kill)$ cat /proc/5678/oom_score$ cat /proc/5678/oom_adj          # 可调整 OOM 优先级(-17 到 15)

关键指标

  • VmRSS 持续增长但 VmSize 不变 → 内存碎片或缓存累积
  • VmData 持续增长 → 堆内存泄漏(Java/Python 等常见)
  • oom_score > 1000 → 极易被 OOM Killer 选中

磁盘 IO 瓶颈排查

现象iostat 显示 %util 接近 100%,系统响应缓慢

排查步骤

# 1. 查看系统级 IO 统计$ cat /proc/diskstats | grep "sda " 259       0 sda 123456 0 9876543 456789 98765 0 8765432 1234567 0 0 0# 字段解析:读完成次数 合并读 读扇区 读毫秒 写完成次数 合并写 写扇区 写毫秒 正在处理 IO 数 IO 毫秒 加权 IO 毫秒# 2. 计算实时 IOPS(每秒执行两次对比)$ cat /proc/diskstats | grep "nvme0n1" | awk '{print "读IOPS: "$4" 写IOPS: "$8}'# 3. 定位高 IO 进程(通过 fd 和 pos 判断)for pid in $(ls /proc | grep -E "^[0-9]+$"); doif [ -d "/proc/$pid/fd" ]; thenfor fd in /proc/$pid/fd/*; do            readlink -f "$fd" 2>/dev/null | grep -q "/data/" && echo"PID $pid 正在访问 /data/"donefidone# 4. 查看进程 IO 统计(需要内核开启 CONFIG_TASK_IO_ACCOUNTING)$ cat /proc/1234/iorchar: 1234567890          # 读取字节数(从文件)wchar: 9876543210          # 写入字节数(到文件)read_bytes: 1234567890     # 真正从磁盘读取(缓存未命中)write_bytes: 9876543210    # 真正写入磁盘# 5. 查看文件缓存命中率$ cat /proc/vmstat | grep -E "pgpgin|pgpgout|pswpin|pswpout"

网络连接异常排查

现象:连接数暴涨、TIME_WAIT 过多、端口耗尽

排查步骤

# 1. 查看网络连接统计(比 netstat 更快)$ cat /proc/net/sockstatsockets: used 1234TCP: inuse 567 orphan 12 tw 8900 alloc 600 mem 1200UDP: inuse 45 mem 12UDPLITE: inuse 0RAW: inuse 1FRAG: inuse 0 memory 0# 2. 查看详细连接状态(等同于 ss -tan)$ cat /proc/net/tcp | head -20$ cat /proc/net/tcp6 | wc -l    # IPv6 连接数# 3. 统计各状态连接数$ awk '{print $4}' /proc/net/tcp | sort | uniq -c | sort -rn   8900 06                    # 06 = TIME_WAIT    234 01                    # 01 = ESTABLISHED     45 03                    # 03 = SYN_RECV# 状态码对照:01=ESTAB, 02=SYN_SENT, 03=SYN_RECV, 04=FIN_WAIT1, #            05=FIN_WAIT2, 06=TIME_WAIT, 07=CLOSE, 08=CLOSE_WAIT, #            09=LAST_ACK, 0A=LISTEN, 0B=CLOSING# 4. 定位具体进程的网络连接$ ls -la /proc/1234/fd/ | grep socket | wc -l    # 进程打开的连接数$ cat /proc/1234/net/tcp                         # 进程的网络命名空间连接# 5. 查看端口范围和临时端口使用情况$ cat /proc/sys/net/ipv4/ip_local_port_range32768   60999$ cat /proc/sys/net/netfilter/nf_conntrack_count    # conntrack 表使用情况

僵尸进程与孤儿进程处理

现象ps aux | grep defunct 发现大量僵尸进程

排查步骤

# 1. 查找僵尸进程$ ps aux | awk '$8=="Z" {print "PID: "$2" PPID: "$3" CMD: "$11}'PID: 1234 PPID: 5678 CMD: <defunct># 2. 查看僵尸进程的父进程$ cat /proc/5678/status | grep -E "Name|State|Threads|voluntary_ctxt_switches"$ cat /proc/5678/cmdline# 3. 查看父进程是否卡住(未调用 wait())$ cat /proc/5678/stack                    # 查看内核调用栈kill -CHLD 5678                         # 尝试发送 SIGCHLD 信号唤醒父进程# 4. 如果父进程无响应,只能终止父进程(孤儿进程会被 init 接管)kill -9 5678                            # 谨慎操作!

容器与命名空间问题

现象:容器内看到的资源与宿主机不一致,或者资源隔离异常

排查步骤

# 1. 查看进程的命名空间$ ls -la /proc/self/ns/                    # 当前 shell 的 namespace$ ls -la /proc/1234/ns/                    # 目标进程的 namespace$ readlink /proc/1234/ns/pid               # 查看 PID namespace ID# 2. 进入容器的网络命名空间排查$ nsenter --target 1234 --net --pid --mount$ cat /proc/net/dev                        # 容器内的网络统计$ cat /proc/net/tcp                        # 容器内的连接# 3. 查看 cgroup 限制(容器资源限制)$ cat /proc/1234/cgroup12:memory:/docker/abc123...$ cat /sys/fs/memory/docker/abc123/memory.limit_in_bytes# 4. 查看容器的资源使用(相对于限制)$ cat /proc/1234/status | grep VmHWM       # 峰值内存$ cat /proc/1234/status | grep voluntary_ctxt_switches

容器与云环境

容器环境中的 /proc

特殊性

  • 容器内的 /proc 视图被命名空间隔离
  • 部分 /proc 文件显示容器级别的数据,而非宿主机
  • 权限控制更严格

查看容器的 /proc

# 进入容器命名空间$ docker exec -it container_id bash$ cat /proc/meminfo  # 显示容器内存限制# 从宿主机查看容器进程的 /proc$ docker inspect container_id | grep Pid$ cat /proc/<pid>/status  # 查看容器进程状态

Kubernetes 环境下的应用

K8s 中的 /proc 使用

  • 通过 kubectl exec 进入 Pod 查看 /proc
  • 使用 livenessProbe 和 readinessProbe 监控应用状态
  • 结合 Prometheus 监控 Pod 级别的 /proc 数据

示例

# 查看 Pod 中的进程$ kubectl exec pod_name -- ps aux# 查看 Pod 容器的 /proc/meminfo$ kubectl exec pod_name -- cat /proc/meminfo# 查看 Pod 的资源使用$ kubectl top pod pod_name

最佳实践

  • 在 Dockerfile 中设置合理的资源限制
  • 使用 limits 和 requests 控制 Pod 资源
  • 监控容器的 /proc 数据以发现异常

深入内核原理

/proc 在 Linux 内核中的实现

/proc 文件系统是 Linux 内核中的一个虚拟文件系统,由 fs/proc 目录下的代码实现。它通过以下机制工作:

核心组件

  • procfs 注册:内核启动时,通过 proc_init() 函数注册 procfs 文件系统
  • inode 操作:使用 proc_inode_operations 定义目录和文件的操作方法
  • file 操作:使用 proc_file_operations 定义文件的读写操作
  • seq_file 接口:提供了一种统一的方式来生成 /proc 文件内容

工作原理

  1. 当用户访问 /proc 目录时,内核会动态生成目录内容
  2. 当用户读取 /proc 文件时,内核会调用相应的回调函数生成数据
  3. 当用户写入 /proc 文件时,内核会解析写入的数据并执行相应的操作

关键数据结构

  • struct proc_dir_entry:表示 /proc 中的目录或文件
  • struct seq_operations:定义了序列文件的操作方法
  • struct file_operations:定义了文件的操作方法

示例

// 简化的 proc 文件创建示例staticintmy_proc_show(struct seq_file *m, void *v){    seq_printf(m, "Hello from kernel!\n");return0;}staticintmy_proc_open(struct inode *inode, struct file *file){return single_open(file, my_proc_show, NULL);}staticconststructfile_operationsmy_proc_fops = {    .open = my_proc_open,    .read = seq_read,    .llseek = seq_lseek,    .release = single_release,};staticint __init my_module_init(void){    proc_create("my_proc_file"0644NULL, &my_proc_fops);return0;}

数据生成机制

/proc 文件的数据生成主要通过以下几种方式:

  1. 静态数据:直接从内核数据结构中读取,如 /proc/version
  2. 动态计算:实时计算并生成数据,如 /proc/loadavg
  3. 序列文件:使用 seq_file 接口生成结构化数据,如 /proc/stat
  4. 目录遍历:动态生成目录内容,如 /proc/[pid]/ 目录

性能优化

  • 延迟计算:只在需要时才计算数据
  • 缓存机制:对于不常变化的数据进行缓存
  • 批量处理:减少系统调用次数

/proc 文件系统工作原理流程图

点击图片放大查看

总结:/proc 排查速查表

问题类型
关键文件
核心指标
CPU 高
/proc/[pid]/stat
/proc/stat
utime, stime, loadavg
内存泄漏
/proc/[pid]/status
/proc/[pid]/smaps
VmRSS, VmData, RssAnon
IO 瓶颈
/proc/diskstats
/proc/[pid]/io
read_bytes, write_bytes
网络问题
/proc/net/tcp
/proc/[pid]/net/dev
连接状态、重传率
僵尸进程
/proc/[pid]/status
State: Z, PPid
句柄泄漏
/proc/[pid]/fd/
打开文件数
线程问题
/proc/[pid]/task/
线程数、栈大小

掌握 /proc 文件系统,相当于拥有了 Linux 内核的"透视能力"。在生产环境中,当常规工具(top、ps、netstat)无法深入问题时,直接读取 /proc 往往能获得最原始、最准确的数据。


本文基于 Linux 内核 4.x/5.x 版本编写,部分细节可能因发行版略有差异。建议在实际生产环境操作前先在测试环境验证。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-27 09:58:33 HTTP/2.0 GET : https://f.mffb.com.cn/a/482667.html
  2. 运行时间 : 0.088930s [ 吞吐率:11.24req/s ] 内存消耗:4,767.98kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=d557892b5e8d0d9532aa3d780977cf33
  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.000494s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001003s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000365s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000284s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000691s ]
  6. SELECT * FROM `set` [ RunTime:0.000233s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000724s ]
  8. SELECT * FROM `article` WHERE `id` = 482667 LIMIT 1 [ RunTime:0.001833s ]
  9. UPDATE `article` SET `lasttime` = 1774576713 WHERE `id` = 482667 [ RunTime:0.007855s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000311s ]
  11. SELECT * FROM `article` WHERE `id` < 482667 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000667s ]
  12. SELECT * FROM `article` WHERE `id` > 482667 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000549s ]
  13. SELECT * FROM `article` WHERE `id` < 482667 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000890s ]
  14. SELECT * FROM `article` WHERE `id` < 482667 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001151s ]
  15. SELECT * FROM `article` WHERE `id` < 482667 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002510s ]
0.090486s