linux技术文章
-
用 journalctl 的 -b、时间范围和字段过滤快速收窄本次启动日志,避免把上一次启动遗留的报错误判成当前故障。484 收藏 -
Linux 使用 tar 解压时遇到 Permission denied,先判断目标目录是否可写,再核对压缩包内路径、目录属主和 umask,最后用最小权限复测,避免直接使用高权限掩盖问题。482 收藏 -
用 iostat -x 的 await、aqu-sz 和 %util 组合判断 Linux 磁盘是延迟高、队列堆积,还是并行设备利用率接近上限,并给出可复查的采样方法。482 收藏 -
Linux 上用 ss -lntp 可以同时查看监听地址、端口、PID 和进程名。本文解释进程字段缺失的权限原因,并给出按端口、地址族和网络命名空间定位服务的排查方法。481 收藏 -
journalctl 可以把 --unit 和 --boot 组合使用:先用 --list-boots 确认启动轮次,再按服务单元筛选某次启动的日志;最后可用 --since、--until、-n 和输出格式选项缩小排查范围。481 收藏 -
cgroup v2 的 memory.high 是内存使用软阈值,越界后让任务承受回收与节流压力,但不会直接触发 OOM;memory.max 是硬上限,回收失败时可在该 cgroup 内触发 OOM。本文说明两者如何配合及怎样用 memory.events 判断命中哪条线。481 收藏 -
Linux 的 io_uring_disabled 控制的是新 io_uring 实例能否创建,不会直接关闭已经存在的实例。本文按 0、1、2 解释普通进程、CAP_SYS_ADMIN、io_uring_group 与既有实例的边界,并给出修改 sysctl 前后的检查清单。480 收藏 -
Linux 出现僵尸进程时,进程已经结束,却因为父进程没有回收退出状态而暂时留在进程表里。本文用 ps 的 Z 状态、PPID 和父进程回收逻辑定位问题,再给出可回滚的处理顺序,避免一上来就误杀正常服务。478 收藏 -
Linux 里 Permission denied 不只是文件没有权限,也可能是当前用户不对、父路径没有进入权限、属主属组不匹配或脚本缺少运行位。本文从用户操作场景出发,给出一套可复用的排查顺序,帮助你安全修复权限问题。476 收藏 -
Linux 使用 mount --bind 后执行 umount 报 target is busy,通常要先让 shell 和服务离开目标目录,再区分工作目录、打开文件、子挂载与传播状态逐项排查。476 收藏 -
Linux 服务管理器的 RuntimeMaxSec 可以给服务设置最长运行时间,但它不是普通的请求超时。本文用一次性数据同步服务说明如何配置运行时限、从服务状态命令和 journalctl 判断超时结果,并区分正常退出、失败重启与限时后的恢复边界。474 收藏 -
Linux 上部署一个常驻业务服务时,服务单元与 Docker Compose 的差别不只在于是否容器化。用启动依赖、日志入口、恢复方式和回滚颗粒度四个维度,判断订单、接口等服务该选哪条路径。473 收藏 -
服务明明还有内存,却突然无法创建新线程或子进程,优先检查 cgroup v2 的 pids.max、pids.current、pids.peak 和 pids.events,再回到服务管理器的 TasksMax=确认限制来源。本文给出一套可回滚的定位顺序。473 收藏 -
Linux 上 df 显示磁盘满了,但 du 找不到大文件,常见原因是文件已经被删除却仍被进程占用。排查时先确认挂载点,再对比 df 和 du,最后用 lsof +L1 找 deleted 文件和 PID,按服务重启、日志切割或释放句柄恢复空间。470 收藏 -
日志轮转后 df 仍显示磁盘快满,常见原因不是旧日志还在目录里,而是进程仍持有已删除文件的文件描述符。本文用 df、du、lsof 和服务管理器日志命令逐层确认占用来源,并给出不误杀业务进程的恢复步骤。469 收藏