柚熊的头像-柚熊闲记
管理员
Be water,my friend!
报 Too many open files,定位是哪个进程漏了句柄-柚熊闲记

报 Too many open files,定位是哪个进程漏了句柄

先确认上限:ulimit -n 只是当前 shell 的限制,进程真正的上限要看 /proc/<pid>/limits 里的 Max open files;systemd 托管的服务要去改 LimitNOFILE,改 limits.conf 对它无效。再统计...
网站注册完整操作指南:从零到上线的全流程-柚熊闲记

网站注册完整操作指南:从零到上线的全流程

注册一个网站完整操作指南:从零到上线的全流程 想拥有一个自己的网站,却不知从何下手?这份指南把'准备什么'和'怎么操作'一次性讲透,跟着步骤做,新手也能独立建站。 更新于 2026 年 7 月 预...
1个月前
09412
TIME_WAIT 堆到几万,要不要优化、该调哪些参数-柚熊闲记

TIME_WAIT 堆到几万,要不要优化、该调哪些参数

TIME_WAIT 是主动关闭方留下的正常状态,2MSL 后自行消失,万级 QPS 下堆几万条很常见,先别急着调优。真正该查的是有没有大量短连接、Nginx 是不是每次请求都新建到后端的连接,这类问题要靠连...
给每个请求打 traceId,把全链路日志串起来-柚熊闲记

给每个请求打 traceId,把全链路日志串起来

入口处生成一个 traceId(网关或第一个中间件),之后所有日志都带上它,这是排查分布式问题最划算的投入。落地要点:traceId 放进 MDC 或请求上下文,让日志框架自动打印,别在每个方法手写参...
Windows 下查端口被哪个进程占用并结束它-柚熊闲记

Windows 下查端口被哪个进程占用并结束它

用 netstat -ano 快速定位:-a 列全部连接,-n 不做反查(快),-o 输出 PID。拿到 PID 后用 tasklist 查进程名。若进程名是 System(PID 4),说明端口被内核驱动或 Hyper-V/WSL 保留了,改用 ...
快速切换页面导致请求竞态,把旧请求取消掉-柚熊闲记

快速切换页面导致请求竞态,把旧请求取消掉

竞态的表现是后发的请求先返回,先发的结果反而把页面覆盖了。axios 从 0.22 起用 AbortController:组件里建一个 controller,把 signal 放进请求配置,切换页面或重新请求前调用 abort()。取...
计划任务到点没跑,用「上次运行结果」代码定位原因-柚熊闲记

计划任务到点没跑,用「上次运行结果」代码定位原因

计划任务不跑,先看「上次运行结果」那一列的错误码,比任何猜测都有用。0x1 多是程序路径或参数写错、工作目录没设;0x2 是文件找不到;0x41303 表示从未运行过。再看「常规」里有没有勾「不管...
日志平台丢数据,从采集端开始逐段排查-柚熊闲记

日志平台丢数据,从采集端开始逐段排查

日志丢了别猜,从源头一段段对:应用是不是真写了这条日志(本地文件里直接 grep)、采集 agent 有没有读到(看 agent 自身日志和 offset)/传输链路是否限流或断开、最后存储端的查询条件对不...
今日AI动态简报(2026-09-23)-柚熊闲记

今日AI动态简报(2026-09-23)

【本期速览】本期共收录 8 条 AI 动态,集中在模型迭代与安全、国产模型与云侧生态、AI Agent 落地三条线。 模型方面:Anthropic 发布 Claude Opus 5.5,称达到 Fable 5.1 级性能,相较于 Opus ...
token 一过期前端集体 401,怎么做无感续期-柚熊闲记

token 一过期前端集体 401,怎么做无感续期

常见做法是 access token 设短(15 分钟到 1 小时),另配一个有效期长的 refresh token 只用来换新。前端在响应拦截器里识别 401,判断是「过期」而不是「无效」,就调刷新接口换新 token 再重...
大文件上传做成分片加断点续传-柚熊闲记

大文件上传做成分片加断点续传

把文件切成固定大小的分片,每片带序号上传,服务端记录已收到的分片;续传时先问哪些分片已有,只补缺的。 分片建议 1 到 5 MB,太小请求数暴增,太大失败重传贵;整个文件用内容哈希做标识才...
limits.conf 改了不生效,systemd 服务要写进 unit 的 LimitNOFILE-柚熊闲记

limits.conf 改了不生效,systemd 服务要写进 unit 的 LimitNOFILE

limits.conf 只对 PAM 登录会话生效,systemd 服务不读它,服务里 ulimit -n 还是 1024。 做法是在 unit 里写 LimitNOFILE,再 daemon-reload 重启;240 之前不支持在 service 里设它。 改完去 ...
加类型注解并用 mypy 提前抓出低级错误-柚熊闲记

加类型注解并用 mypy 提前抓出低级错误

注解要从宽到严分步上,一上来全开老项目会报出成百上千条,没人看。 先标参数和返回值,集合类型写清元素类型,可空用 X 或 None;mypy 先只检查已注解的函数,通过后再要求未注解函数必须标注...
配置分环境管理,别把密钥提交进仓库-柚熊闲记

配置分环境管理,别把密钥提交进仓库

密钥进仓库等于泄露,事后删文件也没用,历史里还在。做法:配置按环境拆开,本地用 .env 并加进 .gitignore,仓库只放 .env.example,生产走配置中心或平台 secrets 注入。如果已经提交过,第...
程序假死结束不掉,先导出转储文件再分析-柚熊闲记

程序假死结束不掉,先导出转储文件再分析

程序卡死时先别点结束进程,否则现场就没了。 任务管理器详细信息里右键可创建转储文件,procdump 能按 CPU 阈值或挂起时长自动抓。 拿到 dmp 用 WinDbg 打开跑 !analyze -v 看异常线程调用栈,...
把调试器挂到正在运行的进程上做远程调试-柚熊闲记

把调试器挂到正在运行的进程上做远程调试

关键是让进程以允许附加的方式启动。Java 加 JDWP 参数启动,地址只监听 127.0.0.1,再用 SSH 转发连接。 Python 用 debugpy 监听端口由本地 IDE 连,Node 加 inspect 参数启动再连。 调试端口...
Nginx 配双向认证,用客户端证书卡住访客-柚熊闲记

Nginx 配双向认证,用客户端证书卡住访客

双向认证是服务端反过来校验客户端证书。 先备齐 CA 证书、服务端证书和客户端证书。 Nginx 里用 ssl_client_certificate 指向 CA 证书链、ssl_verify_client on 强制校验,ssl_verify_depth 限...
Windows 服务崩了自动拉起来,用「恢复」选项卡配置-柚熊闲记

Windows 服务崩了自动拉起来,用「恢复」选项卡配置

服务崩了想自动拉起,不用写脚本,用服务属性里的「恢复」选项卡:第一次失败、第二次失败、后续失败各选「重新启动服务」,再把「重置失败计数」设为 1 天左右。两个注意点:一是这招只对进程...
连接池被打满,请求全部排队超时-柚熊闲记

连接池被打满,请求全部排队超时

先分清是池太小还是连接不还。抓一次线程栈,大量线程卡在获取连接上就是池被打满;再看 active 计数,长期贴着上限不降,多半是慢 SQL 或长事务占住了连接。应急把池上限和数据库 max_connecti...
映射的网络驱动器重启就掉,怎么让它持久保存-柚熊闲记

映射的网络驱动器重启就掉,怎么让它持久保存

重启就掉多半不是映射没保存,而是凭据没记住。到「控制面板 → 凭据管理器 → Windows 凭据」新增一条,地址填服务器机器名。 然后删掉旧映射重新连接,勾选「记住我的凭据」,命令行里加 /per...
SELinux 拦截导致服务起不来,先看审计日志再改策略-柚熊闲记

SELinux 拦截导致服务起不来,先看审计日志再改策略

先看审计日志,别急着关 SELinux。 ausearch 筛 AVC 记录能看到被拒的进程和目标路径。 标签不对用 semanage fcontext 改规则后 restorecon,缺能力用 setsebool -P 开布尔值。 需要自定义策略...
提示证书链不完整,把中间证书按顺序一起配-柚熊闲记

提示证书链不完整,把中间证书按顺序一起配

服务器只发了站点证书、没带中间证书,浏览器会自动补齐,Java 和 curl 会直接报证书链不完整。 判断方法是跑 openssl s_client,加 -showcerts 打印服务器返回的整条链,看中间证书在不在。 修...
误删文件,用「以前的版本」卷影副本找回-柚熊闲记

误删文件,用「以前的版本」卷影副本找回

前提是删除前「系统保护」已开启,否则没有还原点可选。右键文件 →「属性」→「以前的版本」,挑一个删除前的时间点,先「打开」确认内容再「还原」。 整盘恢复就右键盘符,同一页会列出该卷所...
今日AI动态简报(2026-07-25)-柚熊闲记

今日AI动态简报(2026-07-25)

(聚焦AI Coding + 具身智能,2026.07.25,精选4条) 1、GitHub Copilot正式接入Claude Opus 5【AI Coding】 事件:GitHub官宣Claude Opus 5逐步上线Copilot全平台(VS Code、CLI、网页端),定...
conntrack 表打满导致随机丢包,怎么确认和缓解-柚熊闲记

conntrack 表打满导致随机丢包,怎么确认和缓解

conntrack 表打满时内核直接丢包,dmesg 里会出现 nf_conntrack: table full, dropping packet,表现是随机连不上。先对比 /proc/sys/net/netfilter/nf_conntrack_count 和 nf_conntrack_max。...
并发更新同一行数据被覆盖,用版本号做乐观锁-柚熊闲记

并发更新同一行数据被覆盖,用版本号做乐观锁

两人同时读到 version=1,各自算完写回,后写的覆盖先写的,就是丢失更新。做法是写入时带版本条件。 语句里同时 set version = version + 1 和 where version = 读到的值,影响行数 0 说明被别...
dmesg 报 I/O error,判断磁盘是不是要坏了-柚熊闲记

dmesg 报 I/O error,判断磁盘是不是要坏了

先分清介质错误还是链路异常:dmesg 带 -T 看时间戳,确认报错落在哪个块设备。 再用 smartctl 读健康状态,PASSED 只说明盘没被判死,还要看重分配、待定、不可纠正三个扇区计数。 待定扇区不...
误 reset 或误删分支后,用 reflog 把提交找回来-柚熊闲记

误 reset 或误删分支后,用 reflog 把提交找回来

reflog 记录的是本地 HEAD 的每次移动,误操作后一般 90 天内都还能捞回来。先 git reflog 找到误操作前那一步的提交号,再 git reset --hard <提交号> 回到当时状态。如果是误删分支,用...
访问日志加上游耗时,判断时间花在哪一段-柚熊闲记

访问日志加上游耗时,判断时间花在哪一段

默认日志没有分段耗时,要自定义格式:request_time 整段耗时,upstream_response_time 后端耗时。 看哪段大:上游都大是后端慢;只有连接耗时大是网络问题;请求耗时大而上游小是收数据或 Ngin...
提交前自动跑 lint 和格式化,用 pre-commit 或 husky-柚熊闲记

提交前自动跑 lint 和格式化,用 pre-commit 或 husky

Python 用 pre-commit:配置里声明钩子仓库和 id,首次运行装进 .git/hooks,之后每次提交自动执行。 前端用 husky 配 lint-staged,只对暂存区文件跑 eslint 和 prettier。 留一条绕过通道 git...