linux技术文章
-
文章 · linux | 4天前 | 性能优化 · Linux · 系统调用 · io_uring · 异步IO · Linux 异步IO io_uring SQPOLL IORING_SETUP_SQPOLL
io_uring 的 SQPOLL 能让内核线程轮询提交队列,减少提交路径上的系统调用,但它不是无条件加速。本文用 sq_thread_idle、SQPOLL 唤醒、提交批次和 CPU 观测,核对多队列程序何时受益、何时只是空转。484 收藏 -
vmstat 输出里的 r 和 b 经常被误读成 CPU 使用率。本文从运行队列、不可中断睡眠和 load average 的关系入手,给出一套从现象到证据的 Linux 性能排查方法。222 收藏 -
Linux 局域网偶发断连不一定是交换机故障,也可能是内核邻居表达到阈值。本文用 ip neigh、统计文件和 gc_thresh 逐层确认原因,给出临时恢复、持久配置和回滚验收方法。450 收藏 -
Linux 7.2 已进入主线发布阶段,但 mainline、stable 与长期支持版本承担的风险不同。本文按生产升级的判断顺序,说明如何核对版本来源、准备回滚、做最小验证,再决定是否采用。222 收藏 -
Linux 用 tar 解包到已有目录时,默认行为可能覆盖同名文件。本文用 --keep-old-files 与 --skip-old-files 区分硬失败和跳过策略,再配合目标目录快照、返回码与抽样校验,建立可回退的解包流程。252 收藏 -
rsync 复制后看到的文件时间不对,通常要先区分修改时间、访问时间和时区显示,再检查是否使用 --times 以及目标文件系统的时间精度。本文给出可复现的复制、核对和修复命令。446 收藏 -
文章 · linux | 5天前 | Linux · 故障排查 · auditd · 系统审计 · 日志运维 · Linux 审计日志 auditd auditctl backlog limit exceeded 队列溢出
Linux 审计日志出现 backlog limit exceeded 时,不能只把队列上限调大。本文从 auditctl 状态、lost 计数和 auditd 内部队列入手,区分内核 backlog、守护进程消费和磁盘轮转三个环节,给出可回滚的处理与复核顺序。391 收藏 -
同一条脚本在终端能正常显示,放进服务托管任务却出现乱码,通常不是脚本突然改了编码,而是 LANG、LC_ALL、LC_CTYPE 和服务环境不一致。本文按证据顺序核对 locale、服务属性和日志,给出稳妥的修复与回滚方法。345 收藏 -
非 root 进程绑定 80 端口,不只取决于 setcap 是否出现,还要核对内核低端口范围、文件能力、解释器启动方式和实际进程能力。本文用一组可复现命令把判断链串起来。295 收藏 -
Linux 服务器的 swap 使用量升高,不等于内存已经泄漏或必须立刻关闭交换。本文用 vmstat 的 si/so、free 的可用内存、磁盘 I/O 和 /proc/sys/vm/swappiness 组成证据链,区分偶发换出、持续抖动与真实内存压力,并给出可回滚的处理顺序。458 收藏 -
Linux 上的服务管理器反复重启,常见原因不是 Restart= 配错这么简单,而是进程真实退出原因、启动限流和 journal 时间窗没有对齐。本文从一个 api-worker.service 持续重启的场景出发,按服务状态、退出结果、启动限流和日志证据逐层核对,给出可回滚的修复顺序。428 收藏 -
服务突然报 too many open files,先别急着把进程上限调大。本文从进程软硬上限、打开句柄类型和监听连接三个证据面定位文件描述符耗尽,再用一个可复测的恢复顺序判断问题是泄漏、突发流量还是配置边界。428 收藏 -
tmpfs 挂载点明明还有空间,应用却可能报 No space left on device。本文按容量、inode 和内存回收三个维度,用 df、df -i、findmnt 与内核回收指标定位真正的限制,并给出可回滚的调整顺序。158 收藏 -
Linux 的 page cache 占用高不等于内存泄漏,本文从 free、top、slab 和回收验证入手,区分缓存、进程匿名内存与内核对象的边界。331 收藏 -
日志轮转后磁盘空间没有下降、旧日志文件仍在增长,常见原因是服务进程还握着旧文件句柄。本文用 copytruncate 与重新打开日志两条路径解释现象,给出安全配置、验证顺序和回滚判断。174 收藏