Linux共13篇
用 ss 看连接状态分布,判断是积压还是丢包-柚熊闲记

用 ss 看连接状态分布,判断是积压还是丢包

别一条条翻,先按状态聚合看分布。SYN-RECV 多说明握手没走完,通常是队列或 backlog 打满;CLOSE-WAIT 多是代码收了请求没关连接。 再配合内核计数判断:队列溢出计数持续增长说明请求进不来,...
柚熊的头像-柚熊闲记柚熊昨天
04215
NFS 卡死导致连 df 都执行不了,挂载参数该怎么改-柚熊闲记

NFS 卡死导致连 df 都执行不了,挂载参数该怎么改

NFS 服务端不回包时客户端会一直重试,挂载点被扫到就卡住,df、ls 都卡死。 挂载时把超时调小让它尽快失败:timeo 单位 0.1 秒,retrans 控制重试次数。 卡住的挂载用 umount 带 -f -l 强制延...
柚熊的头像-柚熊闲记柚熊2小时前
04614
僵尸进程越积越多,怎么找到父进程处理-柚熊闲记

僵尸进程越积越多,怎么找到父进程处理

僵尸进程已经不占资源,也杀不掉,真正要处理的是父进程——父进程没有回收子进程的退出状态,才会留下僵尸。用 ps 过滤状态为 Z 的进程,看它的 PPID。若父进程是自己的服务,说明代码里没有回...
柚熊的头像-柚熊闲记柚熊3天前
03114
高并发下 accept 队列溢出,backlog 和 somaxconn 怎么配-柚熊闲记

高并发下 accept 队列溢出,backlog 和 somaxconn 怎么配

半连接队列满会丢 SYN,全连接队列满会拒绝连接,外部表现是超时或 connection refused。三处参数必须对齐:内核的 net.core.somaxconn、应用 listen() 的 backlog、以及 net.ipv4.tcp_max_syn_...
柚熊的头像-柚熊闲记柚熊3天前
05014
iowait 很高但磁盘 util 不高,先排除哪几种情况-柚熊闲记

iowait 很高但磁盘 util 不高,先排除哪几种情况

iowait 高但磁盘不忙,常见三种情况:一,在虚机上,宿主机 IO 被别的虚机抢占,本机看不到 util;二,大量进程在等 NFS 返回,本质是网络延迟;三,内存不足触发回收,读盘的是内核线程 kswapd...
柚熊的头像-柚熊闲记柚熊3天前
03114
报 Too many open files,定位是哪个进程漏了句柄-柚熊闲记

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

先确认上限:ulimit -n 只是当前 shell 的限制,进程真正的上限要看 /proc/<pid>/limits 里的 Max open files;systemd 托管的服务要去改 LimitNOFILE,改 limits.conf 对它无效。再统计...
柚熊的头像-柚熊闲记柚熊3天前
02812
TIME_WAIT 堆到几万,要不要优化、该调哪些参数-柚熊闲记

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

TIME_WAIT 是主动关闭方留下的正常状态,2MSL 后自行消失,万级 QPS 下堆几万条很常见,先别急着调优。真正该查的是有没有大量短连接、Nginx 是不是每次请求都新建到后端的连接,这类问题要靠连...
柚熊的头像-柚熊闲记柚熊3天前
03512
limits.conf 改了不生效,systemd 服务要写进 unit 的 LimitNOFILE-柚熊闲记

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

limits.conf 只对 PAM 登录会话生效,systemd 服务不读它,服务里 ulimit -n 还是 1024。 做法是在 unit 里写 LimitNOFILE,再 daemon-reload 重启;240 之前不支持在 service 里设它。 改完去 ...
柚熊的头像-柚熊闲记柚熊昨天
04511
SELinux 拦截导致服务起不来,先看审计日志再改策略-柚熊闲记

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

先看审计日志,别急着关 SELinux。 ausearch 筛 AVC 记录能看到被拒的进程和目标路径。 标签不对用 semanage fcontext 改规则后 restorecon,缺能力用 setsebool -P 开布尔值。 需要自定义策略...
柚熊的头像-柚熊闲记柚熊2小时前
03910
conntrack 表打满导致随机丢包,怎么确认和缓解-柚熊闲记

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

conntrack 表打满时内核直接丢包,dmesg 里会出现 nf_conntrack: table full, dropping packet,表现是随机连不上。先对比 /proc/sys/net/netfilter/nf_conntrack_count 和 nf_conntrack_max。...
柚熊的头像-柚熊闲记柚熊3天前
04610
dmesg 报 I/O error,判断磁盘是不是要坏了-柚熊闲记

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

先分清介质错误还是链路异常:dmesg 带 -T 看时间戳,确认报错落在哪个块设备。 再用 smartctl 读健康状态,PASSED 只说明盘没被判死,还要看重分配、待定、不可纠正三个扇区计数。 待定扇区不...
柚熊的头像-柚熊闲记柚熊2小时前
0459
程序卡住不响应,用 strace 看它停在哪一步系统调用-柚熊闲记

程序卡住不响应,用 strace 看它停在哪一步系统调用

分两种情况。进程还在但毫无响应,直接挂上去看它停在哪:strace -p 加 -T 打印每次调用耗时、加 -f 跟住子线程。 屏幕上长时间停着不动的那个调用就是卡点,常见是 read 卡在网络、futex 卡在...
柚熊的头像-柚熊闲记柚熊前天
0525
连不上到底是哪一层断的,用 tcpdump 抓包判断-柚熊闲记

连不上到底是哪一层断的,用 tcpdump 抓包判断

判断只看一件事:SYN 有没有被回应。 在客户端抓包,看到反复发 SYN 却收不到 SYN-ACK,说明包被丢在路上,去查安全组、防火墙和路由。 收到 SYN-ACK 但紧接着 RST,说明对端没有进程在监听或策...
柚熊的头像-柚熊闲记柚熊前天
0545