linux技术文章
-
通过 systemctl edit 为指定 systemd service 添加 Environment= 或 EnvironmentFile=,再配合 daemon-reload、restart 和进程环境检查,让变量只在目标服务内生效。283 收藏 -
服务主进程看起来没有打开目标文件,但真正访问动作发生在 fork 出来的子进程时,strace -f 能把这条调用链串起来。本文用 follow-forks、-e trace=%file 和 -o 输出文件逐步缩小范围,并说明如何核对 PID、路径与返回值。282 收藏 -
通过 memory.max、memory.current、memory.events 和 memory.events.local 建立一套可读的 cgroup v2 内存排障方法,明确 oom 计数与 oom_kill 计数的区别,避免看到 OOM 就误判进程已经被杀。281 收藏 -
掌握 journalctl 按 systemd 服务、时间范围和输出格式导出诊断日志的方法,并排查 unit、时区、权限与空结果等常见问题。280 收藏 -
Linux cgroup v2 中,memory.current 用来观察当前及后代 cgroup 的内存,memory.max 用来设置硬上限;配合 memory.events 可以判断节流、触顶和 OOM。280 收藏 -
用 lslocks 的显式字段查看 Linux 当前文件锁,按 PID、路径和锁类型缩小排查范围,并解释 FLOCK、POSIX、LEASE、OFDLCK 以及 PID=-1 的归因边界。280 收藏 -
Linux tmpfs适合可重建缓存,但容量上限、inode数量、RAM与swap占用以及重启清空边界必须分别设置和判断。本文用挂载命令、参数表和部署清单说明如何安全选择tmpfs。279 收藏 -
使用 ss 分别筛选 TCP LISTEN 与 ESTAB,说明 established 和 connected 的区别、本地与对端端口条件,以及 UDP、权限和空结果的判断边界。279 收藏 -
用原创 Linux socketpair 示例说明 EPOLLONESHOT 通知暂停与 EPOLL_CTL_MOD 重武装,解释完整掩码、非阻塞读取、事件计数及多线程连接所有权边界。279 收藏 -
Linux look 通过二分查找输出有序文件中以指定字符串开头的行。本文说明如何用相同的 sort 比较规则准备输入,并处理 -d、-f、-t 选项与退出码。279 收藏 -
OpenSSH ControlMaster 复用失败通常不是开关没有写上,而是 ControlPath 没有命中、主连接已经退出、ControlPersist 未驻留或 socket 权限与路径不一致。本文用 ssh -G、ssh -O 和 -vvv 给出一套可复查的定位方法。278 收藏 -
用 namei 逐段阅读 Linux 路径,结合 -l 与 --nosymlinks 明确符号链接的跳转和停止位置,快速区分链接本身、链接目标、断链与循环链接。278 收藏 -
用 list-timers、status 和 journalctl 三步确认 Linux 定时器是否按时触发,并区分未到时间、服务失败与日志缺失。277 收藏 -
Linux 中判断默认路由不能只看 ip route 的排列顺序:先按最长前缀缩小候选,再比较 metric,最后用 ip route get 验证实际出口。同 metric 场景应明确区分等价多路径和主备配置。277 收藏 -
nftables 命名 set 可以让地址元素自动过期。本文从 flags timeout、元素 timeout、expires 查看和 update 刷新四个边界说明配置方法。277 收藏