标签: 报错 - 文章列表
共 5 页 · 清除标签筛选
-
Node.js接口响应变慢与事件循环阻塞的排查方法(monitorEventLoopDelay测延迟、UV_THREADPOOL_SIZE调整libuv线程池与worker_threads拆分CPU任务)
Node.js接口慢但CPU不高、内存正常,多半是事件循环被占住。本篇讲用monitorEventLoopDelay量出p99延迟,区分主线程同步阻塞与libuv线程池排队两类成因,梳理JSON大报文、正则回溯、同步加密、nextTick递归等常见写法,给出UV_THREADPOOL_SIZE调整与worker_threads拆分的做法。
-
Java报错Connection is not available, request timed out after 30000ms的排查方法(HikariCP连接池耗尽、连接泄漏定位与maximumPoolSize调整)
HikariCP报Connection is not available, request timed out after 30000ms,多数是连接池被打满。本篇讲清报错括号里total、active、idle、waiting四个数字的读法,用leakDetectionThreshold抓出泄漏堆栈,梳理queryForStream、事务里调外部接口等四种不还连接的写法,以及maximumPoolSize、maxLifetime、keepaliveTime的取值牵制。
-
PostgreSQL报错FATAL: sorry, too many clients already与锁等待的排查方法(pg_stat_activity查连接来源、pg_blocking_pids定位阻塞链与PgBouncer连接池)
应用日志跳出FATAL: sorry, too many clients already时psql往往也连不进去。文章讲怎么用superuser_reserved_connections预留槽钻进去,用pg_stat_activity按state、usename查连接来源,区分idle in transaction这类占槽又挡VACUUM的会话;再给出pg_locks与pg_blocking_pids两条查阻塞链的SQL,以及三个超时参数怎么按角色下发;最后是PgBouncer三种池模式的取舍。
-
Windows蓝屏后stop code的查看与定位方法(MEMORY.DMP与Minidump转储文件分析、事件ID 1001与故障驱动排查)
机器蓝屏重启后,能用的线索只有stop code、Minidump里的dmp文件与事件查看器的1001号事件。文章讲清转储文件生成在哪两个目录、CrashControl注册表项怎么把转储打开、事件ID 41与1001里怎么读BugCheckCode和四个参数,以及0x0000000A、0x0000007B、0x0000007F等常见stop code各自指向什么,再给出WinDbg Preview配符号分析、BlueScreenView与WhoCrashed定位肇事驱动、verifier逼驱动现形的步骤。
-
PHP Composer报错Your requirements could not be resolved to an installable set of versions的排查方法(composer why-not定位冲突、平台约束与版本约束调整)
composer update报Your requirements could not be resolved to an installable set of versions时,线索全在报错块那几行requires与satisfiable by里。这篇记录怎么区分逻辑冲突与平台约束,用composer why-not、why、show --tree找出堵点,install与update的差异,-w与-W的差别,minimum-stability和repositories造成的包找不到,以及内存不足与Xdebug拖慢的误判。数据截至2026年10月。
-
C++程序崩溃报0xC0000005访问冲突的定位方法(dump文件抓取、Windbg与AddressSanitizer排查内存越界)
0xc0000005是访问违例,与0xc0000409栈溢出、0xc0000374堆损坏不是一回事。先用注册表LocalDumps的DumpType设为2让系统落完整转储,或者procdump挂在外面等;编译时带/Zi与/DEBUG保留PDB,再用Windbg的!analyze -v、.ecxr与kv读栈。Debug构建靠_CrtSetDbgFlag与/RTC1提前拦,必要时上/fsanitize=address或者gflags整页堆。
-
Nginx报错504 Gateway Time-out的排查方法(upstream timed out定位、proxy_read_timeout与fastcgi_read_timeout配置)
504 Gateway Time-out与502的区别在于后端只是慢,不是挂了。按error.log里upstream timed out尾部的connecting、sending、reading三个词,定位该改proxy_connect_timeout、proxy_send_timeout还是proxy_read_timeout,默认值都是60s,连PHP-FPM时换成fastcgi_read_timeout。再把两个耗时变量打进日志找出慢URL,核对PHP的max_execution_time 30s与MySQL锁等待50s。
-
Go报错context deadline exceeded与dial tcp i/o timeout的排查方法(http.Client超时设置、Transport三个超时字段与数据库连接池定位)
Go里context deadline exceeded和dial tcp i/o timeout来源不同:前者是ctx或http.Client.Timeout到期,后者是建连阶段卡住。按报错串括号里的附加说明分诊,逐层配置Client.Timeout、context与Transport的DialContext、TLSHandshakeTimeout、ResponseHeaderTimeout,用curl分段耗时和httptrace定位到具体阶段,并说明resp.Body未关闭、MaxIdleConnsPerHost默认为2、database/sql连接池超时这三类常见根因。
-
PHP连接MySQL报错SQLSTATE[HY000] [2002] No such file or directory与Connection refused的排查方法(localhost与127.0.0.1区别、socket路径与3306端口定位)
PHP连接MySQL报SQLSTATE[HY000] [2002]时,No such file or directory表示走Unix域套接字没找到socket文件,Connection refused表示走TCP但端口没有进程在听。按报错串分诊:用php -i确认pdo_mysql.default_socket,用show variables查服务端真实socket路径,再区分skip-networking、bind-address、端口非3306、容器里127.0.0.1指向自身等六种情形,附2003、1045、2054报错的区分方法。
-
Windows文件删不掉报文件正在使用、需要管理员权限与源路径太长的解决方法(资源监视器、handle.exe定位占用进程与takeown长路径处理)
删文件弹出「文件已在另一程序中打开」「需要管理员权限」「源路径太长」,对应句柄占用、ACL与所有者、MAX_PATH三种不同原因。本篇给出资源监视器与handle.exe定位占用进程、takeown与icacls改权限、\?\前缀与LongPathsEnabled处理长路径、robocopy清空深层目录、chkdsk修复孤立记录的完整处置顺序。