文件描述符:为什么网络连接、日志文件和 socket 能放在一起看
很多人第一次看到“Linux 一切皆文件”这句话时,会觉得有点抽象。但只要你开始看线上服务的日志文件、监听端口、网络连接和管道,就会发现这些对象最后真的都能通过文件描述符这条线索串起来。 文件描述符并...
很多人第一次看到“Linux 一切皆文件”这句话时,会觉得有点抽象。但只要你开始看线上服务的日志文件、监听端口、网络连接和管道,就会发现这些对象最后真的都能通过文件描述符这条线索串起来。 文件描述符并...
很多人判断磁盘问题,只会看 df -h。但在线上环境里,磁盘没满却写不进文件并不罕见:inode 耗尽、挂载异常、权限问题、文件句柄占用、文件系统只读,都可能让“磁盘还有空间”这件事失去意义。 Lin...
后端线上最常见的一类问题,就是“服务连不上”。但“连不上”背后可能是域名解析、目标 IP、源地址选择、路由、端口监听、防火墙、连接状态、应用协议任意一层出了问题。 Linux 网络排障之所以难,是因为...
很多人排查网络问题时,第一反应是 ping。但 ping 只能说明 ICMP 是否可达,根本不能回答“某个 TCP 端口有没有监听”“连接有没有建立”“数据包有没有真正发出去”“请求有没有返回”这些更...
磁盘问题的表现通常很绕:接口变慢、load 升高、日志刷不出来、数据库抖动、容器启动卡住。这类现象经常不是“磁盘坏了”,而是某个环节的 IO 压力、等待时间或空间占用已经异常。 df、du、iosta...
“我在终端里能跑,为什么服务里跑不起来”是很经典的一类问题。很多时候,不是程序本身坏了,而是执行环境变了:PATH 不一样、工作目录不一样、依赖变量没带上、用户身份变了。 Linux 里的启动环境并不...
很多人第一次接触进程控制时,只记住了一个动作:kill -9。但在线上系统里,进程退出并不只是“结束掉”这么简单。请求是否处理完、连接是否释放、文件是否刷盘、资源是否回收,都会直接影响稳定性。 Lin...
很多服务并不是手工执行一个二进制就算上线了,而是通过 systemd 这类初始化和服务管理系统被拉起、守护、重启和记录状态。于是“服务起不来”这个问题,往往既有应用层原因,也有 systemd 配置和...
Linux 很有意思的一点,是它会把很多运行状态直接暴露成“文件”。比如进程状态、内存信息、网络参数、文件句柄限制、内核配置,都可以通过 /proc 和 sysctl 这样的接口看到。 这不是把所有东...
很多人先学了 Docker 和 Kubernetes,再反过来补 Linux 时,会发现容器很多“神奇能力”其实都不是凭空出现的。容器能隔离进程、网络、挂载点和资源限制,背后依靠的正是 Linux 的...