linux技术文章
-
journalctl 可以把 --unit 和 --boot 组合使用:先用 --list-boots 确认启动轮次,再按服务单元筛选某次启动的日志;最后可用 --since、--until、-n 和输出格式选项缩小排查范围。481 收藏 -
通过 systemctl edit 为指定 systemd service 添加 Environment= 或 EnvironmentFile=,再配合 daemon-reload、restart 和进程环境检查,让变量只在目标服务内生效。283 收藏 -
Linux 网络服务向已关闭的管道或 socket 写入时可能收到 SIGPIPE。本文比较进程级忽略与 MSG_NOSIGNAL 的边界,并说明如何按 EPIPE 清理失效连接。253 收藏 -
coredumpctl 能列出崩溃记录却找不到 core 文件时,按 COREFILE、内核入口、Storage、大小上限、权限和 tmpfiles 保留策略逐层定位。371 收藏 -
使用 GNU tar 的 --one-file-system 控制备份边界,避免递归进入其他文件系统或挂载点,并说明显式指定目录与 --exclude 的差异。223 收藏 -
Linux inotify 出现 IN_Q_OVERFLOW 时,不能继续相信增量事件。本文说明如何检查队列参数、暂停消费、全量重扫目录并重建 watches,避免索引和缓存悄悄失真。398 收藏 -
Linux epoll 使用 ET 边沿触发时,事件只表示状态发生过变化。本文解释为什么要配合非阻塞 fd 循环读取到 EAGAIN,并给出关闭、半包、饥饿和事件缓存的处理清单。366 收藏 -
Linux hostname 属于进程所在的 UTS namespace。本文用 unshare、/proc/PID/ns/uts 和 nsenter 说明隔离视图、CAP_SYS_ADMIN 权限与宿主机 hostname 不变的原因。177 收藏 -
Linux cgroup v2 的 memory.max 是硬限制,但并发计费、回收时机和层级统计会让 memory.current 短暂越界。本文区分 memory.high 与 memory.max,并用 memory.events、memory.stat 和进程归属定位是否真的发生 OOM。352 收藏 -
Linux tmpfs 使用率高不一定代表物理内存耗尽。本文用 df、du、df -i、Shmem、swap 和 lsof 对照判断挂载上限、可见文件、inode 与删除后仍打开文件的区别。468 收藏 -
mount --bind 增加的是同一文件层级的另一条路径,不会自动复制 inode 或改变 owner、mode。本文用挂载点属性、findmnt、mountinfo、stat、ACL 和进程凭据拆解权限表现不同的原因。363 收藏 -
Linux 中判断默认路由不能只看 ip route 的排列顺序:先按最长前缀缩小候选,再比较 metric,最后用 ip route get 验证实际出口。同 metric 场景应明确区分等价多路径和主备配置。277 收藏 -
Linux 上用 ss -lntp 可以同时查看监听地址、端口、PID 和进程名。本文解释进程字段缺失的权限原因,并给出按端口、地址族和网络命名空间定位服务的排查方法。481 收藏 -
用 journalctl 同时限定 systemd unit 与当前系统启动,掌握 --list-boots、boot ID、时间范围和服务重启边界,快速定位本次启动中的 Linux 服务日志。288 收藏 -
Linux 使用 find 清理大量文件时,关键是避免一次性展开全部路径。本文比较 -exec {} +、-print0 | xargs -0 和 -delete 的边界与安全用法。232 收藏