123

Linux Linux 系统启动流程是怎样的? BIOS/UEFI 加电自检,检查 CPU、内存、硬盘、网卡等硬件是否正常; 加载 Bootloader(GRUB),包含内核镜像(vmlinuz)和 initramfs(临时根文件系统); 内核初始化,内核解压缩并加载到内存、初始化硬件驱动(存储、网络、文件系统等)、启动第一个用户空间进程(systemd); 根据 /etc/fstab 挂载磁盘分区; 启动系统服务(syslog、network、sshd)和用户空间服务(nginx、docker…); 最后进入 ssh 登录界面。 如何排查一台 Linux 服务器的负载过高问题? 首先可以通过监控面板,或登录宿主机使用 w、uptime 等命令查看 1 分钟、5 分钟、15 分钟的平均负载(load average),如果 1 分钟的平均负载偏高,有可能是瞬时的,可以继续观察,如果如果 15 分钟的平均负载也高,则需要继续排查; 平均负载 > CPU核心数 = 高(CPU 和 IO 的排队时间) 使用 top、ps、iotop、nethogs 等命令获取占用 CPU 或 IO 高的进程; 最后通过查看服务日志、系统日志、内核日志等方式排查是否有报错。 系统日志:/var/log/syslog(Ubuntu)、/var/log/messages(CentOS)。 内核日志可以使用 dmesg 查看(重点关注 I/O error、OOM killer)。 请解释 top 命令输出中 load average 的含义。 top 的 load average 表示在过去 1、5、15 分钟内,系统中处于运行态(R,正在运行或等待 CPU)和不可中断睡眠态(D,等待 I/O)的进程的平均数量; 是否算高要结合 CPU 核心数来看,正常应该 load < CPU 核数,超过太多说明有性能瓶颈。 ...

2025年7月7日 · 10 分钟 · 阿征