linux技术文章
-
Linux 出现僵尸进程时,进程已经结束,却因为父进程没有回收退出状态而暂时留在进程表里。本文用 ps 的 Z 状态、PPID 和父进程回收逻辑定位问题,再给出可回滚的处理顺序,避免一上来就误杀正常服务。478 收藏 -
Linux 里 Permission denied 不只是文件没有权限,也可能是当前用户不对、父路径没有进入权限、属主属组不匹配或脚本缺少运行位。本文从用户操作场景出发,给出一套可复用的排查顺序,帮助你安全修复权限问题。476 收藏 -
Linux 服务管理器的 RuntimeMaxSec 可以给服务设置最长运行时间,但它不是普通的请求超时。本文用一次性数据同步服务说明如何配置运行时限、从服务状态命令和 journalctl 判断超时结果,并区分正常退出、失败重启与限时后的恢复边界。474 收藏 -
Linux 上部署一个常驻业务服务时,服务单元与 Docker Compose 的差别不只在于是否容器化。用启动依赖、日志入口、恢复方式和回滚颗粒度四个维度,判断订单、接口等服务该选哪条路径。473 收藏 -
服务明明还有内存,却突然无法创建新线程或子进程,优先检查 cgroup v2 的 pids.max、pids.current、pids.peak 和 pids.events,再回到服务管理器的 TasksMax=确认限制来源。本文给出一套可回滚的定位顺序。473 收藏 -
文章 · linux | 1个月前 | Linux · 磁盘空间 · du · 运维排查 · lsof · df · Linux磁盘满 df du不一致 lsof +L1 deleted文件 磁盘空间排查
Linux 上 df 显示磁盘满了,但 du 找不到大文件,常见原因是文件已经被删除却仍被进程占用。排查时先确认挂载点,再对比 df 和 du,最后用 lsof +L1 找 deleted 文件和 PID,按服务重启、日志切割或释放句柄恢复空间。470 收藏 -
日志轮转后 df 仍显示磁盘快满,常见原因不是旧日志还在目录里,而是进程仍持有已删除文件的文件描述符。本文用 df、du、lsof 和服务管理器日志命令逐层确认占用来源,并给出不误杀业务进程的恢复步骤。469 收藏 -
从文件发送到 TCP 连接的实际路径出发,比较 Linux sendfile 与 splice 的适用边界,并用 strace 和返回值验收零拷贝改造是否真的生效。467 收藏 -
文章 · linux | 3星期前 | Linux · 服务管理 · 安全加固 · 服务部署 · 文件权限 · Linux 迁移 服务单元 DynamicUser StateDirectory 服务降权 持久目录
把 Linux 服务改成 DynamicUser=yes 后,原来写在 /var/lib 下的目录很容易因为属主和目录创建时机出问题。本文用 StateDirectory=cache-worker 迁移一个缓存 worker,解释目录权限、旧数据迁移、重启复测和回滚边界。462 收藏 -
从 Linux 服务的 MemoryMax 限制出发,结合 memory.events 和 journalctl 证据判断 OOM 来源,再给出安全的恢复、调参与回滚检查。462 收藏 -
文章 · linux | 2星期前 | Linux · 性能监控 · 系统排查 · 资源压力 · Linux 性能排查 PSI Pressure Stall Information /proc/pressure
Linux load 高并不一定能说明业务正在等待什么资源。本文用 PSI(Pressure Stall Information)读取 /proc/pressure/cpu、memory、io,解释 some 与 full、avg10/avg60/avg300 的含义,并给出从判断压力类型到设置 poll 阈值的排查和告警方法。461 收藏 -
解释 Go runtime.SetFinalizer 让对象在终结器调用期间重新可达的运行时语义,结合最小示例说明终结器队列、复活窗口、KeepAlive 与生产替代方案。460 收藏 -
Linux 服务器的 swap 使用量升高,不等于内存已经泄漏或必须立刻关闭交换。本文用 vmstat 的 si/so、free 的可用内存、磁盘 I/O 和 /proc/sys/vm/swappiness 组成证据链,区分偶发换出、持续抖动与真实内存压力,并给出可回滚的处理顺序。458 收藏 -
文章 · linux | 2星期前 | oom · 内存 · Linux · 运维排查 · cgroup · Linux OOM cgroup v2 memory.events memory.current memory.max memory.high
Linux cgroup v2 出现内存告警时,不要只盯着 memory.current。本文用 memory.events、memory.events.local、memory.high 和 memory.max 组成证据链,区分回收压力、硬限额命中与 OOM,并给出可复查的命令顺序。456 收藏 -
Linux 批处理拖慢线上服务时,可以用 cgroup v2 的 io.max 对指定块设备做读写字节或 IOPS 限流,再用 io.stat 对比限流前后的服务时延。本文给出设备映射、配置、观测和安全回滚步骤。453 收藏