Linux 磁盘空间充足却无法创建文件:inode 耗尽的排查与治理实践
## 适用场景 应用报出 `No space left on device`,但 `df -h` 显示磁盘使用率不高;Nginx 无法写入访问日志、容器无法创建临时文件、CI 构建失败,甚至 `touch` 一个空文件也失败。这通常不是字节空间耗尽,而是文件系统可分配的 inode 已经用完。 本文以 ext4/X
Tag
包含这个标签的文章。
## 适用场景 应用报出 `No space left on device`,但 `df -h` 显示磁盘使用率不高;Nginx 无法写入访问日志、容器无法创建临时文件、CI 构建失败,甚至 `touch` 一个空文件也失败。这通常不是字节空间耗尽,而是文件系统可分配的 inode 已经用完。 本文以 ext4/X
## 适用场景 使用 Celery + Redis/RabbitMQ 承担异步任务。队列中仍有大量待执行任务,但监控显示少数 Worker 忙碌、其余 Worker 空闲;或者短任务被长任务“压住”,整体延迟持续升高。本文以默认的 `prefork` 并发池和 RabbitMQ 为例,Redis broker 的排查
## 适用场景 这篇文章适用于线上服务突然退出、容器被重启、systemd 日志里只有 `Killed`、监控显示内存瞬时打满,但应用日志没有明确异常栈的场景。常见环境包括物理机、云主机、Docker 容器和 Kubernetes 节点。 OOM Killer 的本质是内核在内存不可回收时主动选择进程终止,以保证系
## 适用场景 这类问题常见于网关、爬虫、批处理任务、消息消费者、API 聚合服务等高并发出站访问场景。应用本身没有明显 CPU 或内存瓶颈,但访问下游服务、Redis、MySQL 代理、HTTP API 时偶发超时,重启应用后短时间恢复,过一会儿又开始失败。 临时端口耗尽的核心原因是:本机主动发起大量 TCP 连
## 适用场景 本文适用于 Linux 服务器上使用 systemd 管理自研服务、脚本任务、Java 服务、Python 服务或二进制程序时,执行 `systemctl start` 后服务立即失败,并在日志中看到 `status=203/EXEC` 的场景。 这类问题通常不是业务代码运行时报错,而是 syste
## 适用场景 这类问题常见于日志文件、临时文件或应用输出文件被手动 `rm` 删除后,`df -h` 仍然显示磁盘空间没有释放。典型环境包括: - 业务服务持续写入日志,日志文件被误删或被不规范清理脚本删除。 - Nginx、Java、Python、Go 服务长期运行,进程仍持有旧文件句柄。 - Docker 容
## 适用场景 这篇文章适用于线上 Redis 作为缓存、会话、计数器或排行榜组件时,出现接口响应时间突然升高、Redis CPU 飙升、慢查询增多、网络出口流量变大等问题的排查。 典型环境包括: - 单机 Redis 或 Redis Sentinel 架构; - Redis Cluster 分片集群; - 业务
`ss`命令用于显示socket状态. 他可以显示`PACKET sockets`, `TCP sockets`, `UDP sockets`, `DCCP sockets`, `RAW sockets`, `Unix domain sockets`等等统计. 它比其他工具展示等多`tcp`和`state`信息. 它是
[TOC] ### 1、Dos 攻击防范(自动屏蔽攻击 IP) ```shell #!/bin/bash DATE=$(date +%d/%b/%Y:%H:%M) LOG_FILE=/usr/local/nginx/logs/demo2.access.log ABNORMAL_IP=$(tail -n5000
### 1、修改/etc/ansible/hosts文件 添加IP+主机名+端口号+用户名+登录密码 ```shell cat >> /etc/ansible/hosts << EOF [WB_AND] 192.168.1.202 hostname=spider-01 ansible_ssh_port=2968 a