linux技术文章
-
Linux 上不要只看 ip route show 猜出口网卡。用 ip route get 目标地址可以读取内核解析后的 dev、src、via 和 metric;再结合 from、mark、vrf 与 fibmatch,能定位多网卡和策略路由下的实际选择。436 收藏 -
Linux nftables 可以把多个端口放进 inet_service 命名集合,再用 tcp dport @集合名匹配。本文从集合建模、规则引用、动态维护和持久化核对四个方面给出可直接改写的配置。242 收藏 -
容器里看不到宿主机进程通常是 PID namespace 的正常隔离,而不是进程消失。本文结合 /proc、PID 1、procfs 挂载和 nsenter 说明如何判断进程视图边界。412 收藏 -
Linux cgroup v2 中,memory.current 用来观察当前及后代 cgroup 的内存,memory.max 用来设置硬上限;配合 memory.events 可以判断节流、触顶和 OOM。280 收藏 -
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 收藏