运维面试题(十一)

1.如果一个硬盘 IO 时阻塞了,会发生什么情况?

  1. 进程/线程挂起:发起I/O操作的进程或线程会被操作系统置为阻塞状态(等待状态),直到I/O完成。
  2. CPU资源释放:阻塞的线程会让出CPU,操作系统会调度其他就绪的线程运行。

2.一般会通过 free 去查看内存使用率,执行 free 以后里面有好几个指标,对于 buffer 和 cache 你是怎么理解的?

f'ree显示了系统中物理内存和交换内存的情况。

Buffer和cache是linux内核为了提高磁盘I/O性能而使用的内存区域。

Buffer:主要用于存储文件系统的元数据,例如inode和块设备的数据。

Cache:用于缓存文件的实际数据内容

3.如果说某个服务CPU负载过高,你怎么排查?

  1. 使用系统监控工具如top,htop,vmstat等查看当前系统的CPU使用情况。
  2. 对于高CPU进程,可以使用pidstat -t查看确定是哪个线程导致了高负载,会不会是某些函数或者是循环导致的。
  3. 外部依赖:如果CPU负载是由外部依赖引起的,比如数据库查询或网络请求,需要检查这些操作是否必要。对于数据库查询,可以通过添加索引,重写SQL语句来提高查询效率。对于网络请求,可以使用缓存或批量处理以减少请求次数。

4.502和504的区别?

它们都是HTTP状态码,但它们表示不同的服务器问题。502错误意味着中间代理服务器(如负载均衡服务器或反向代理)从后端服务器接收到一个无效响应,504错误则表示中间代理服务器没有在规定时间内从后端服务器收到任何响应。

相关推荐
Decay__6 小时前
05_MySQL 常用 SQL 大全 —— 诊断、管理、优化辅助 SQL 与三大系统库速查
运维·数据库·sql·mysql·架构
贞明电子8 小时前
工业三色报警灯怎么接入项目系统?开关量与RS485控制应用指南
运维·网络·微信公众平台·贞明电子
万联WANFLOW8 小时前
海外网络故障怎么排查?Cloudflare 三季度断网报告解读与 mtr 实战
运维·网络·故障分析
Ruiery10 小时前
Linux 6.6内核内存管理深度解析(十三):slab/slub 分配器
linux·运维·服务器
Decay__12 小时前
04_MySQL DBA 日常运维手册 —— 会话管理、锁与阻塞、事务监控、慢查询与日志巡检
运维·数据库·sql·mysql·架构
江华森13 小时前
数据中心基础设施运维实战:概述与实验环境搭建
运维
迪菲赫尔曼13 小时前
【基础篇 11】把官方源码放到服务器:版本、解压层级和安装位置,一次弄清楚
运维·服务器·开发语言·人工智能·python·yolo·目标检测
by2099914 小时前
Linux GCC/G++ 编译与 Makefile 构建
linux·运维·服务器·经验分享
螺丝钉tina15 小时前
[Playwright][08] Upload 模块自动化:如何设计真实业务测试用例?
运维·自动化·测试用例
迪菲赫尔曼15 小时前
【基础篇 12】把环境与源码接起来:检查 GPU,再安装服务器上的项目
运维·服务器·开发语言·人工智能·python·yolo·目标检测