
本系列面向 Linux 运维 / 云计算 / DevOps / SRE 面试,按真实面试频率拆分,多篇系统整理。本文为 第一篇:系统基础 + 核心命令,属于“面试必过篇”,几乎每场都会问。
面试官考察点:是否区分 物理 CPU / 核数 / 逻辑 CPU(超线程)
# 物理 CPU 数cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l# 每颗 CPU 的核心数cat /proc/cpuinfo | grep "cpu cores" | uniq# 逻辑 CPU 数(线程数)cat /proc/cpuinfo | grep "processor" | wc -l加分回答:
逻辑 CPU = 物理 CPU × 核数 × 超线程(HT),Linux 调度以逻辑 CPU 为单位。
free -h面试陷阱:
buff/cache 高 ≠ 内存不够,这是 Linux 的性能优化策略。
echo 3 > /proc/sys/vm/drop_cachestopuptimewload average: 1.20, 0.98, 0.75判断经验(必须会说):
❌ 不一定
可能原因:
topiostat -xm 1 5vmstat 1ps auxps -eftop定义:
子进程已退出,但父进程未回收状态信息
ps -ef | grep defunct正确处理方式: 1️⃣ 找父进程 PPID 2️⃣ kill 父进程或重启服务
僵尸进程 不能直接 kill(必考点)
核心原因:
文件被删除,但仍被进程占用(FD 未释放)
lsof | grep deleted解决方案:
lsblkdf -hdf -iiostat -xdm 1 5iotop面试加分点:
ethtool eth0Link detected: yes临时:
echo"nameserver 8.8.8.8" >> /etc/resolv.conf永久(CentOS):
DNS1=8.8.8.8DNS2=114.114.114.114uname -rcat /etc/os-releasesetenforce 0SELINUX=disabled标准回答:
文件句柄(File Descriptor)是 Linux 内核用于标识一个已打开文件或资源的非负整数。
面试官认可的补充:
每个进程都有独立的 FD 表
除了普通文件,socket / pipe / 设备 都会占用 FD
默认已打开的 FD:
ls -l /proc/PID/fd本质原因:
进程打开的文件数超过系统或用户允许的最大 FD 数
常见触发场景(面试重点):
ulimit -n # 当前用户cat /proc/sys/fs/file-max # 系统级ulimit -n 65535# /etc/security/limits.conf* soft nofile 65535* hard nofile 65535面试加分点:soft 是警告阈值,hard 是绝对上限
free -hLinux 会尽可能使用内存做 cache,这是性能优化,不是浪费。
定义:
Swap 是磁盘上的虚拟内存,用于缓解物理内存不足
什么时候用到(真实场景):
缺点(一定要说):
swapon -svmstat 1当系统内存耗尽时,内核会主动杀死某些进程以自保
dmesg | grep -i oom面试官追问:怎么避免?
100% 高频题
原因:
文件被删除,但仍被进程占用(FD 未释放)
lsof | grep deleted解决思路(一定要按顺序说): 1️⃣ 找到占用进程 2️⃣ 重启服务(推荐) 3️⃣ kill 进程(慎用)
现象:
df -i常见原因:
iostat -xdm 1 5iotop重点指标(面试必说):
标准回答模板(非常重要):
1️⃣ df -h / df -i(确认是空间还是 inode) 2️⃣ du -sh /* 找大目录 3️⃣ lsof | grep deleted(必查) 4️⃣ 清理日志 / 重启服务
面试官听到第 3 步,基本就点头了
正确答案:
topiostatvmstat 1高分回答思路:
ss -slsof | wc -l
点个赞吧
点击关注公众号,阅读更多精彩内容

以上内容仅为作者个人观点,仅供交流与探讨,欢迎各位读者在留言区理性讨论与交流。