EWMA 指数加权移动平均
@[toc] EWMA 指数加权移动平均 EWMA 是什么EWMA(Exponential Weighted Moving Average,指数加权移动平均)是一种递推式平滑方法:用一个“带记忆”的平滑值表示最近一段时间的趋势,同时让更久远的数据以指数形式衰减,从而降低短期抖动对决策的影响。 典型形式为:$$[S_t = \alpha \cdot x_t + (1-\alpha)\cdot S_{t-1}]$$ $(x_t)$:当前观测样本 $(S_t)$:平滑后的状态值 $(\alpha\in(0,1])$:平滑系数(越大越“敏感”,越小越“稳”) 将递推展开后,历史样本的权重会按 $((1-\alpha)^k)$ 逐步衰减,因此称为“指数加权”。 EWMA 的核心原理只保存一个状态值,持续吸收新样本EWMA 不需要保存历史窗口,只需要维护一个状态 (S)。每到一个新样本,就把旧状态衰减一部分,再注入一部分新样本权重: 旧状态贡献:$((1-\alpha)\cdot S_{t-1})$ 新样本贡献:$(\alpha\cdot x_t)$ 这使得计算成本为...
修复 VS Code Remote-SSH 连接超时:启用 PTY 分配
@[toc] 修复 VS Code Remote-SSH 连接超时:启用 PTY 分配 适用场景出现 Remote-SSH 连接阶段超时(例如 Connecting with SSH timed out),同时满足以下特征: ICMP 连通(ping 正常) TCP/22 连通(Test-NetConnection <REMOTE_HOST> -Port 22 为 True) 命令行 ssh -vvv <USERNAME>@<REMOTE_HOST> 可成功认证并进入 Shell VS Code Remote-SSH 日志中存在 remote.SSH.permitPtyAllocation = false(或等价配置) 根因Remote-SSH 建连不只是建立 TCP 会话,还会在远端通过 ssh ... sh 执行初始化脚本(探测、安装、启动 VS Code Server)。 当 PTY(伪终端)分配被禁用 时,常见后果包括: 远端脚本输出被缓冲或输出形态变化,客户端等待不到期望标记 远端登录脚本或环境初始化逻辑在非交...
游戏后台 CPU 占用高与全屏切换最小化问题排查指南
@[toc] 游戏后台 CPU 占用高与全屏切换最小化问题排查指南 本文整理两类常见现象的原因与优化方法: 后台运行时 CPU 占用率较高 全屏模式下切换程序时自动最小化 内容已做通用化处理,适用于多数基于现代 3D 引擎的 Windows 平台游戏。 解决后台运行时 CPU 占用率高理解高占用的原因现代 3D 游戏通常具备以下特征: 持续渲染画面(即使处于后台) 未锁帧时会尽可能输出更高帧率 持续进行物理计算、AI 逻辑、资源加载 引擎对多线程与 CPU 调度要求较高 当未限制帧率或未启用垂直同步时,游戏可能在后台仍以接近满载状态运行,导致 CPU 占用率持续偏高。 限制帧率以降低后台负载优先进行以下设置: 进入: 游戏设置 → 显示 / 图形设置 调整: 启用 V-Sync 或开启 帧率限制(FPS Cap) 建议设置为 60 FPS 或更低 这样可避免游戏在后台无限制渲染帧数。 关闭不必要的后台程序后台程序会与游戏争夺 CPU 资源,尤其包括: 浏览器 文件同步工具 即时通讯软件 云存储客户端 各类常驻启动项 操作步骤: 打开: 任务管...
VS Code Codex 登录失败(1455 端口占用)处理说明
@[toc] VS Code Codex 登录失败(1455 端口占用)处理说明 问题现象在 VS Code 中进行 Codex 登录时失败,提示错误信息类似: 1{"code":-32603,"message":"failed to start login server: Port 127.0.0.1:1455 is already in use"} 该错误表明:Codex 扩展在本机启动 OAuth 回调用的本地登录服务时,默认监听的 127.0.0.1:1455 端口已被其他进程占用,导致登录服务无法启动。 原因说明 Codex 登录流程依赖一个本地 HTTP 回调服务 默认端口为 1455 当该端口已被占用(常见于 VS Code 或相关子进程异常残留)时,登录流程会直接失败 错误与网络、防火墙或账号无关,属于本地端口冲突问题 适用环境 本机 Windows 本机直接运行 VS Code 非 Remote-SSH / WSL / Dev Container 场...
分卷压缩包损坏排查指南
@[toc] 分卷压缩包损坏排查指南 适用场景: 下载了 分卷压缩包(.zip + .z01/.z02/...、.part1.rar、.7z.001 等) 解压或测试时提示 Data Error / CRC failed / Unexpected end of archive 需要判断 是否只需重新下载某一个分卷 一、先确认分卷类型1. ZIP 分卷(常见、最容易混淆)文件结构示例: Game.zip(主文件) Game.z01 Game.z02 Game.z03 规则: 解压 / 测试 只能对 .zip 主文件进行 不要对 .z01 / .z02 单独操作 2. RAR 分卷文件结构示例: Game.part1.rar Game.part2.rar Game.part3.rar 入口文件:Game.part1.rar 3. 7z 分卷文件结构示例: Game.7z.001 Game.7z.002 Game.7z.003 入口文件:Game.7z.001 二、使用 NanaZip 进行初步测试(确认是否损坏)用途:判...
解决 `git cherry-pick` 引入大量新文件的问题
@[toc] 解决 git cherry-pick 引入大量新文件的问题1234567flowchart TD A[处于 cherry-pick 进行中?] -->|是| B[git cherry-pick --abort] A -->|否| C[评估目标] B --> C C --> D[仅需部分路径内容?] D -->|是| E[按路径取文件并单独提交] D -->|否| F[继续 cherry-pick 并清理不需要的新增/冲突] 问题域定义git cherry-pick 会把目标提交的变更整体应用到当前分支,当目标提交覆盖范围过大或包含不需要的目录时,常见结果是一次性引入大量新增文件、目录重排与删除。可观测症状包括:暂存区出现大量 new file,并伴随大量未合并冲突(例如 deleted by us 一类冲突)。影响范围通常覆盖整个 Git 工作树与索引状态,导致后续 --continue、路径恢复与清理操作相互阻塞。 机制分析 cherry-pick 以提交为单位应用补丁目标提交中包含的新增/删除&...
percpu-refcount
[TOC] lib/percpu-refcount.c percpu_ref(percpu 引用计数) 为高并发对象提供按 CPU 本地计数并可切换到原子模式的引用计数机制介绍percpu_ref 是内核通用引用计数基础设施,主体实现位于 lib/percpu-refcount.c,对外 API 与数据结构主要在 include/linux/percpu-refcount.h。它提供 struct percpu_ref 抽象:热路径用每 CPU 本地计数(this_cpu_add()/this_cpu_sub())降低争用,进入销毁阶段后切换到全局原子计数并在归零时调用释放回调。内核态的接入点通常是“对象查找/获取引用”与“对象释放/销毁”两端:运行期用 percpu_ref_get()/percpu_ref_put() 或 percpu_ref_tryget_live(),销毁期用 percpu_ref_kill() / percpu_ref_kill_and_confirm()。用户态不会直接调用 percpu_ref,但常通过系...
Git文件状态显示异常的解决方案
Git索引一致性深度分析:基于Stat Dirty机制的“假脏”现象研究1. 问题背景与现象表征在分布式版本控制系统Git的日常操作中,工作区(Working Tree)与暂存区(Index/Stage)的一致性维护是确保版本历史准确性的基础。本研究针对一类特殊的索引状态异常进行深度分析:即git status报告文件处于修改状态(Modified),但git diff无法检索到任何实质性内容变更。 1.1 初始状态检测在项目维护过程中,系统处于main分支。通过执行状态检测指令,Git报告大量文件被标记为modified,同时存在少量的删除与未跟踪文件。 123456flowchart TD A[系统初始状态] --> B[执行 git status]; B --> C{检测索引与工作区}; C -->|发现元数据差异| D[标记文件为 Modified]; D --> E[输出状态报告]; E --> F[用户观测到大量变更]; 引用终端日志如下(路径已脱敏处理): 123456789...
Ymodem协议帧填充机制与数据完整性校验的深度技术分析
@[toc] Ymodem协议帧填充机制与数据完整性校验的深度技术分析 本文旨在对Ymodem协议中数据帧末尾填充0x1A(SUB/CTRL-Z)的机制进行系统性分析。基于用户提供的技术排查结果与源码片段,本文将解析定长数据块传输的底层逻辑,并阐述在接收端如何利用元数据(Metadata)剔除无效填充字节,以确保文件传输的二进制一致性。 1. Ymodem协议的定长数据块架构Ymodem协议继承了Xmodem的定长分包传输特性。为了保持同步与校验的简便性,协议规定数据传输必须以固定的块大小进行。 1.1 数据帧类型与结构Ymodem支持两种标准数据帧类型,通过帧头字节进行标识: SOH (Start of Header, 0x01):标识 128字节 数据载荷。 STX (Start of Text, 0x02):标识 1024字节 数据载荷。 无论实际有效数据剩余多少,发送方必须填充数据区至上述固定长度,随后附加CRC校验码。 1.2 最后一帧的填充规则当文件大小不是128或1024的整数倍时,最后一帧必然存在无效空间。根据Ymodem/Xmode...
GCC
Linux 代码片段注释与分析 Skill 模板(中文、正文无链接)目标把一段 Linux C 代码改写成“可独立阅读”的分析稿:保留原码结构与宏,去掉原英文注释,只在需要处补充中文就地注释,并按固定章节输出。 除函数外,本模板同样覆盖以下代码单元: 静态变量 / 全局对象 struct ... = {} 初始化对象 id_table / 匹配表 / 描述符表 ops / driver / dev_pm_ops / 回调表 MODULE_*、module_*driver、module_param 等模块级宏 其他对绑定、注册、能力选择、全局行为有直接影响的声明与宏 输出结构模板1) 标题 用 ## 做大标题 大标题只包含:本次片段里会出现 ### 小标题的代码单元名列表(用空格分隔) 代码单元名列表末尾追加一句概括(不含括号) 示例: 1## foo bar baz driver_ops module_init 同步提交、注册与回调绑定路径梳理 2) 大标题下两段(必须有)作用与实现要点 只写策略与设计点,不...







