Linux OOM Killer 导致服务被杀的排查与治理实践
## 适用场景 这篇文章适用于线上服务突然退出、容器被重启、systemd 日志里只有 `Killed`、监控显示内存瞬时打满,但应用日志没有明确异常栈的场景。常见环境包括物理机、云主机、Docker 容器和 Kubernetes 节点。 OOM Killer 的本质是内核在内存不可回收时主动选择进程终止,以保证系
Tag
包含这个标签的文章。
## 适用场景 这篇文章适用于线上服务突然退出、容器被重启、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
[TOC] 系统运维通常使用` ping`,`tracert`,`nslookup` 来判断主机的网络连通性,其实 Linux 下有一个更好用的网络联通性判断工具,它可以结合`ping` `nslookup` ` tracert` 来判断网络的相关特性,这个命令就是 `mtr`。 **mtr** 全称 my tra
awk是Linux系统下一个处理文本的编程语言工具,能用简短的程序处理标准输入或文件、数据排序、计算以及生成报表等等,应用非常广泛。 基本的命令语法:awk option 'pattern {action}' file 其中pattern表示awk在数据中查找的内容,而action是在找到匹配内容时所执行的一系列命