# 1. net.ipv4.tcp_keepalive_time/intvl/probes 长连接保活参数调优中默认值、内网与公网差异以及应用层 keepalive 与 TCP keepalive 的互补 A 默认参数下死链判定可能长达约 2 小时,公网/NAT 场景通常需调低以便更快回收假活连接 ✓ 正确答案 B tcp_keepalive_probes 表示空闲多久开始探测 C TCP keepalive 能验证应用进程是否真正存活 D TCP keepalive 探测报文携带业务数据
# 2. ulimit 与 /etc/security/limits.conf、systemd LimitNOFILE 的生效层级中 login shell 与 systemd service 的差异及 nofile 软硬限制 A systemd 服务的 ulimit 由 /etc/security/limits.conf 直接控制 B 修改 limits.conf 后无需重启进程即可生效 C 硬限制是进程可自行无限提高的上限 D systemd 服务默认软限制为 1024,需用 LimitNOFILE 配置,且以 /proc/<pid>/limits 为最可靠验证 ✓ 正确答案
# 3. vm.dirty_ratio、dirty_background_ratio、dirty_expire_centisecs 的协同,以及数据库主机为何要调低脏页回写阈值 A dirty_ratio 是后台异步回写的起点 B 回写阈值越高,写延迟越平滑 C dirty_expire_centisecs 控制 CPU 频率 D 脏页占比超过 dirty_ratio 后写操作需同步等待回写,数据库主机调低阈值可避免周期性 IO 抖动 ✓ 正确答案
# 4. vm.swappiness 在数据库主机为何通常调到 1 或 0 A swappiness 越大,越倾向保留匿名页 B swappiness 与页缓存无关 C swappiness=0 表示内存永不换出 D 数据库主机调低 swappiness 是为避免 swap 命中导致磁盘 IO 延迟,但前提是内存充足 ✓ 正确答案
# 5. vm.zone_reclaim_mode 如何控制 NUMA 节点内存回收,为何该参数正被内核弃用(改用 NUMA balancing、memory.reclaim 等机制)? A 该参数与 cgroup 内存回收完全无关 B zone_reclaim_mode 控制 CPU 调频 C 该参数数值越大表示越优先使用远端内存 D 开启 zone reclaim 后优先回收本节点内存避免远端访问,但与现代回收机制冲突,默认关闭并逐步被 NUMA balancing 等替代 ✓ 正确答案
# 6. net.core.default_qdisc 与 fq/codel 在缓冲膨胀(bufferbloat)控制中的作用及与 BBR 拥塞控制算法的配合 A fq+codel 通过主动丢包控制排队延迟,缓解缓冲膨胀,是 BBR 推荐的搭配 ✓ 正确答案 B pfifo_fast 能有效对抗缓冲膨胀 C BBR 依赖丢包信号进行拥塞探测 D qdisc 与 TCP 拥塞控制完全无关
# 7. net.core.netdev_max_backlog 如何实现网卡收包队列? A 它限制设备层收包队列长度,CPU 处理不及会丢包,可用 softnet_stat 与 netstat -i 观测 ✓ 正确答案 B 它控制网卡环形缓冲区(ring buffer)的大小 C 该参数与丢包无关 D backlog 越大越好,没有任何代价
# 8. net.ipv4.conf.all.log_martians 如何开启可疑(martian)包的日志记录? A 开启后内核会记录源地址非法的 martian 包丢弃事件,可用于安全溯源与路由排障 ✓ 正确答案 B 开启后 martian 包会被正常转发 C 该参数只影响 IPv6 D martian 包指目标端口非法的包
# 9. net.ipv4.icmp_echo_ignore_broadcasts 如何实现 smurf 防护? A smurf 攻击利用伪造源地址的广播 ICMP echo 请求触发全员应答放大流量 ✓ 正确答案 B icmp_echo_ignore_broadcasts 会阻断所有正常 ping C smurf 攻击不涉及源地址伪造 D 该参数对网络设备无效,主机层无需配置
# 10. net.ipv4.tcp_max_syn_backlog 如何实现 SYN backlog? A tcp_max_syn_backlog 限制已完成握手的 accept 队列长度 B SYN 队列暂存未完成握手的连接,溢出表现为连接超时与 SYN dropped 计数增长 ✓ 正确答案 C SYN cookie 会保存所有半连接状态 D 该参数与 SYN flood 攻击无关
# 11. net.ipv4.tcp_synack_retries 如何控制 SYN-ACK 重传次数? A 它控制服务端 SYN-ACK 最大重传次数,默认 5,按指数退避重传 ✓ 正确答案 B 它控制客户端 SYN 重传次数 C 重传间隔固定为 1 秒 D 该参数影响已建立连接的数据重传
# 12. net.ipv4.tcp_tw_reuse 如何复用 TIME_WAIT 连接及其风险? A 它能让服务端被动关闭的 TIME_WAIT 连接被立即复用 B 开启后 TIME_WAIT 完全消失 C 它基于 TCP 时间戳复用客户端出站 TIME_WAIT 连接,在 NAT 场景有串扰风险 ✓ 正确答案 D 它与 tcp_timestamps 无关
# 13. vm.max_map_count 设置过小导致 Elasticsearch 启动失败的根因与处理中 mmap 段数量限制、生产推荐值与持久化配置 A 修改后必须重启内核才能生效 B 它控制 swap 分区大小 C ES 官方推荐值为 1024 D 它限制进程可拥有的内存映射区域总数,ES 依赖 mmap 访问索引文件,过小会导致启动失败 ✓ 正确答案
# 14. vm.panic_on_oom 在内存耗尽时如何控制系统行为? A oom_score_adj 无法保护进程 B 取 0 时系统直接死机 C 默认值 0 表示触发 OOM Killer 随机杀进程,取 2 则强制 panic,关键业务主机需结合重启策略权衡 ✓ 正确答案 D 该参数只影响 swap 使用
# 15. vm.watermark_scale_factor 如何影响内存水位线(watermark)的计算? A scale_factor 越大,min 水位越低 B 水位线只影响磁盘缓存,不影响进程内存分配 C 调高 watermark_scale_factor 使 low/high 水位上移,更早触发后台回收,降低直接回收与 OOM 概率 ✓ 正确答案 D 直接回收比后台回收延迟更低
# 16. sysctl 调优的典型组合中 file-max/nr_open、TCP 缓冲区与 vm.swappiness 在通用服务下的推荐值如何确定并验证 A 网上抄的配置对所有机器都最优 B 单进程 nofile 上限不能超过 fs.nr_open,TCP 缓冲区设置受 net.core.rmem_max/wmem_max 约束 ✓ 正确答案 C swappiness 在所有场景都应当调成 0 D 调优后无需压测验证
# 17. 内核参数持久化的加载顺序与覆盖规则中 /etc/sysctl.conf、/etc/sysctl.d/*.conf 与 systemd-sysctl 的优先级冲突如何排查 A systemd-sysctl 不会输出加载错误 B /etc/sysctl.conf 永远优先于所有 sysctl.d 文件 C 修改配置后必须重启才能生效 D /etc/sysctl.d 内文件按字典序加载,后加载者覆盖先加载者,/run 目录优先级高于 /etc ✓ 正确答案