当前位置: 首页 > news >正文

Linux故障排查和性能优化面试题及参考答案

目录

如何查看 Linux 系统中的 CPU、内存、磁盘等资源使用情况?

什么是 Linux 中的负载(Load Average)?如何解读它?

如何通过 top 和 htop 命令监控系统性能?

如何使用 mpstat 命令来查看 CPU 的利用情况?

如何分析系统 CPU 瓶颈?

如何分析 CPU 瓶颈?如何优化 CPU 负载?

如何使用 iostat 命令诊断磁盘性能问题?

如何检查磁盘 I/O 瓶颈?常见的磁盘 I/O 瓶颈有哪些?

如何通过 iostat 分析磁盘的 % util、await、svctm?

如何通过 dstat 来监控系统的多种资源?

如何使用 sar 命令收集系统资源使用的数据?

如何使用 strace 工具进行系统调用跟踪?

如何使用 lsof 来查看哪些进程占用了哪些文件?

如何通过 vmstat 工具来监控内存使用情况?

free 命令输出的缓存和交换区的含义是什么?

如何使用 free 命令查看内存使用情况?

如何查看当前系统中的内存分配情况?

如何使用 smem 工具查看内存的使用详情?

如何诊断内存泄漏问题?

什么是 Linux 中的虚拟内存?它是如何管理的?

如何使用 slabtop 查看内存的缓存使用情况?

如何通过调整 /proc/sys/vm 参数来优化内存性能?

swappiness

dirty_ratio 和 dirty_background_ratio

overcommit_memory 和 overcommit_ratio

如何使用 top 命令查看进程的内存使用情况?

如何通过 numastat 命令查看内存分配的节点信息?

如何使用 strace 跟踪进程的系统调用?

跟踪新启动的进程

跟踪已运行的进程

过滤特定的系统调用

将输出保存到文件

统计系统调用信息

显示系统调用的时间戳

如何优化系统中的磁盘 I/O 性能?

如何查看磁盘分区的使用情况以及磁盘空间的分布?

如何优化磁盘文件系统的性能?

如何通过 fio 测试磁盘的随机 / 顺序读写性能?

安装 fio

顺序读写测试

随机读写测试

混合读写测试

什么是磁盘的预读(readahead)机制?如何调整?

如何通过 blkid 命令查看磁盘的分区和类型?

如何使用 dd 命令测试磁盘读写性能?

如何使用 iotop 命令实时监控磁盘 I/O?

如何使用 perf 工具生成火焰图?火焰图在性能分析中的核心价值是什么?

使用 perf 工具生成火焰图

火焰图在性能分析中的核心价值

什么是 CPU 的 C-states 和 P-states?它们对性能有什么影响?

CPU 的 C-states 和 P-states 的概念

对性能的影响

nice 命令和 renice 命令的作用是什么?如何通过它们调整进程优先级?

如何通过 pidstat 监控指定进程的内存、CPU、I/O 等多维度指标?

如何查看物理 CPU 数量、每个 CPU 的核心数及逻辑处理器总数?

使用 lscpu 命令

查看 /proc/cpuinfo 文件

使用 dmidecode 命令

如何通过 pmap 分析进程的内存映射?

如何使用 ps 命令查看系统中正在运行的进程?

基本用法

查看所有进程

查看详细信息

按特定条件筛选进程

树形结构显示进程

实时监控进程

什么是实时进程(Real-time Process),它们与普通进程有何不同?

cgroups(控制组)如何用来限制和管理进程的资源?

如何通过调整进程的优先级来优化系统性能?

如何分析进程中的 CPU 使用、内存使用等性能瓶颈?

CPU 使用分析

内存使用分析

综合分析

如何使用 atop 工具进行进程级别的性能分析?

什么是进程上下文切换(Context Switch)?如何优化它?

如何排查 CPU 使用率 100% 的进程?

使用 top 命令

使用 htop 命令

使用 ps 命令结合 grep 筛选

使用 pidstat 命令

分析进程的具体行为

如何通过 top 命令快速定位 CPU 占用最高的进程?如何查看其子线程资源消耗?

快速定位 CPU 占用最高的进程

查看子线程资源消耗

如何通过 pidstat 监控特定进程的 CPU 使用率及上下文切换情况?

监控特定进程的 CPU 使用率

监控特定进程的上下文切换情况

如何通过 pidstat -d 监控进程的 I/O 使用?

如何通过 vmstat 分析磁盘的 % util、await、svctm?

如何通过 tcpdump 抓取 MySQL 慢查询对应的网络包?

如何通过 ethtool 调整网卡队列长度及中断合并?

调整网卡队列长度

调整中断合并

如何使用 tcpdump 进行网络流量分析?

安装 tcpdump

基本抓包命令

过滤规则

实时查看抓包信息

分析捕获的数据包

如何通过 netstat 或 ss 查看 TCP 连接状态及数量?

使用 netstat 查看 TCP 连接状态及数量

使用 ss 查看 TCP 连接状态及数量

什么是 TCP 的慢启动(Slow Start)和拥塞控制(Congestion Control)机制?

慢启动机制

拥塞控制机制

如何通过调整 /proc/sys/net 参数来优化网络性能?

TCP 相关参数调整

如何通过调整 /proc/sys/net 参数来优化网络性能?(续)

网络缓冲区参数调整

路由和 ARP 参数调整

如何优化系统中的 UDP 性能?

调整 UDP 缓冲区大小

什么是 TCP 的慢启动(Slow Start)和拥塞控制(Congestion Control)机制?

慢启动机制

拥塞控制机制

如何通过调整 /proc/sys/net 参数来优化网络性能?

TCP 相关参数

网络缓冲区参数

路由和 ARP 参数

如何优化系统中的 UDP 性能?

调整 UDP 缓冲区大小

优化网络接口设置

应用层优化

系统资源分配

如何诊断网络中的丢包和延迟问题?

网络连通性检查

网络设备检查

服务器端检查

应用层检查

网络性能测试工具

如何使用 ifconfig 命令查看网络接口的状态?

如何通过 bpftrace 动态跟踪内核函数调用链?

基本语法

跟踪单个内核函数

跟踪函数调用链

保存跟踪结果

如何通过 fio 测试磁盘的随机 / 顺序读写性能?

安装 fio

测试顺序读写性能

测试随机读写性能

测试混合读写性能

什么是 I/O 调度算法?如何调整(如 deadline、noop、cfq)?

常见的 I/O 调度算法

查看当前的 I/O 调度算法

调整 I/O 调度算法

如何通过 slabtop 查看内存的缓存使用情况?

安装 slabtop

使用 slabtop 查看内存缓存使用情况

什么是内存页(Page)和内存页面回收(Page Reclaim)机制?

内存页(Page)

内存页面回收(Page Reclaim)机制

如何使用 sysctl 命令查看并调整系统参数?

查看系统参数

调整系统参数

批量调整参数

如何使用 sysctl 调整系统性能?

网络性能优化

内存性能优化

文件系统性能优化

如何通过调整 /proc/sys/vm 参数来优化内存性能?

调整内存交换相关参数

调整内存分配和回收策略

调整内存页面回收参数

如何使用 dstat 来监控系统的多种资源?

安装 dstat

基本使用

监控特定资源

自定义监控指标

设置刷新间隔和显示次数

如何分析 CPU 瓶颈?如何优化 CPU 负载?

分析 CPU 瓶颈

优化 CPU 负载

如何通过 top 命令快速定位 CPU 占用最高的进程?如何查看其子线程资源消耗?

快速定位 CPU 占用最高的进程

查看子线程资源消耗

如何通过 top 命令查看进程的 CPU 使用情况?

基本使用

排序查看

筛选特定进程

查看多核心 CPU 使用情况

调整刷新间隔

如何分析进程中的 CPU 使用、内存使用等性能瓶颈?

CPU 使用性能瓶颈分析

内存使用性能瓶颈分析

综合分析与优化建议


相关文章:

Linux故障排查和性能优化面试题及参考答案

目录 如何查看 Linux 系统中的 CPU、内存、磁盘等资源使用情况? 什么是 Linux 中的负载(Load Average)?如何解读它? 如何通过 top 和 htop 命令监控系统性能? 如何使用 mpstat 命令来查看 CPU 的利用情况? 如何分析系统 CPU 瓶颈? 如何分析 CPU 瓶颈?如何优化 CP…...

【无人集群系列---大疆无人集群技术进展、技术路线与未来发展方向】

大疆无人集群技术进展、技术路线与未来发展方向 一、技术进展1. 核心技术创新(1)集群协同控制技术(2)感知与能源系统升级 2. 行业应用落地(1)智慧城市与安防(2)应急救援(…...

【亲测有效】百度Ueditor富文本编辑器添加插入视频、视频不显示、和插入视频后二次编辑视频标签不显示,显示成img标签,二次保存视频被替换问题,解决方案

【亲测有效】项目使用百度Ueditor富文本编辑器上传视频相关操作问题 1.百度Ueditor富文本编辑器添加插入视频、视频不显示 2.百度Ueditor富文本编辑器插入视频后二次编辑视频标签不显示,在编辑器内显示成img标签,二次保存视频被替换问题 问题1&#xff1…...

ubuntu windows双系统踩坑

我有个台式机,先安装的ubuntu,本来想专门用来做开发,后面儿子长大了,给他看了一下星际争霸、魔兽争霸,立马就迷上了。还有一台windows的笔记本,想着可以和他联局域网一起玩,在ubuntu上用wine跑魔…...

嵌入式八股文(五)硬件电路篇

一、名词概念 1. 整流和逆变 (1)整流:整流是将交流电(AC)转变为直流电(DC)。常见的整流电路包括单向整流(二极管)、桥式整流等。 半波整流:只使用交流电的正…...

flink使用demo

1、添加不同数据源 package com.baidu.keyue.deepsight.memory.test;import com.baidu.keyue.deepsight.memory.WordCount; import com.baidu.keyue.deepsight.memory.WordCountData; import org.apache.flink.api.common.RuntimeExecutionMode; import org.apache.flink.api.…...

OpenCV(8):图像直方图

在图像处理中,直方图是一种非常重要的工具,它可以帮助我们了解图像的像素分布情况。通过分析图像的直方图,我们可以进行图像增强、对比度调整、图像分割等操作。 1 什么是图像直方图? 图像直方图是图像像素强度分布的图形表示&am…...

力扣LeetCode:1656 设计有序流

题目: 有 n 个 (id, value) 对,其中 id 是 1 到 n 之间的一个整数,value 是一个字符串。不存在 id 相同的两个 (id, value) 对。 设计一个流,以 任意 顺序获取 n 个 (id, value) 对,并在多次调用时 按 id 递增的顺序…...

NGINX配置TCP负载均衡

前言 之前本人做项目需要用到nginx的tcp负载均衡,这里是当时配置做的笔记;欢迎收藏 关注,本人将会持续更新 文章目录 配置Nginx的负载均衡 配置Nginx的负载均衡 nginx编译安装需要先安装pcre、openssl、zlib等库,也可以直接编译…...

vm和centos

安装 VMware Workstation Pro 1. 下载 VMware Workstation Pro 访问 VMware 官方网站(https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html ),在该页面中点击 “立即下载” 按钮,选择适合你操作…...

c#丰田PLC ToyoPuc TCP协议快速读写 to c# Toyota PLC ToyoPuc读写

源代码下载 <------下载地址 历史背景与发展 TOYOPUC协议源于丰田工机&#xff08;TOYODA&#xff09;的自动化技术积累。丰田工机成立于1941年&#xff0c;最初是丰田汽车的机床部门&#xff0c;后独立为专注于工业机械与控制系统的公司。2006年与光洋精工&#xff08;Ko…...

量子计算的数学基础:复数、矩阵和线性代数

量子计算是基于量子力学原理的一种新型计算模式,它与经典计算机在信息处理的方式上有着根本性的区别。在量子计算中,信息的最小单位是量子比特(qubit),而不是传统计算中的比特。量子比特的状态是通过量子力学中的数学工具来描述的,因此,理解量子计算的数学基础对于深入学…...

【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter22-处理 XML

二十二、处理 XML 处理 XML XML 曾一度是在互联网上存储和传输结构化数据的标准。XML 的发展反映了 Web 的发展&#xff0c;因为DOM 标准不仅是为了在浏览器中使用&#xff0c;而且还为了在桌面和服务器应用程序中处理 XML 数据结构。在没有 DOM 标准的时候&#xff0c;很多开发…...

一个不错的API测试框架——Karate

Karate 是一款开源的 API 测试工具,基于 BDD(行为驱动开发)框架 Cucumber 构建,但无需编写 Java 或 JavaScript 代码即可直接编写测试用例。它结合了 API 测试、模拟(Mocking)和性能测试功能,支持 HTTP、GraphQL 和 WebSocket 等协议,语法简洁易读。 Karate详细介绍 K…...

文字语音相互转换

目录 1.介绍 2.思路 3.安装python包 3.程序&#xff1a; 4.运行结果 1.介绍 当我们使用一些本地部署的语言模型的时候&#xff0c;往往只能进行文字对话&#xff0c;这一片博客教大家如何实现语音转文字和文字转语音&#xff0c;之后接入ollama的模型就能进行语音对话了。…...

DeepSeek-R1:通过强化学习激发大语言模型的推理能力

注&#xff1a;此文章内容均节选自充电了么创始人&#xff0c;CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》&#xff08;人工智能科学与技术丛书&#xff09;【陈敬雷编著】【清华大学出版社】 文章目录 DeepSeek大模型技术系列三DeepSeek大模型技术系列三》DeepSeek-…...

MATLAB中fft函数用法

目录 语法 说明 示例 含噪信号 高斯脉冲 余弦波 正弦波的相位 FFT 的插值 fft函数的功能是对数据进行快速傅里叶变换。 语法 Y fft(X) Y fft(X,n) Y fft(X,n,dim) 说明 ​Y fft(X) 用快速傅里叶变换 (FFT) 算法计算 X 的离散傅里叶变换 (DFT)。 如果 X 是向量&…...

【SpringBoot】【JWT】使用JWT的claims()方法存入Integer类型数据自动转为Double类型

生成令牌时使用Map存入Integer类型数据&#xff0c;将map使用claims方法放入JWT令牌后&#xff0c;取出时变成Double类型&#xff0c;强转报错&#xff1a; 解决&#xff1a; 将Integer转为String后存入JWT令牌&#xff0c;不会被自动转为其他类型&#xff0c;取出后转为Integ…...

Crack SmartGit

感谢大佬提供的资源 一、正常安装SmartGit 二、下载crackSmartGit crackSmartGit 发行版 - Gitee.com 三、使用crackSmartGit 1. 打开用户目录&#xff1a;C:\Users%用户名%\AppData\Roaming\syntevo\SmartGit。将crackSmartGit.jar和license.zip拷贝至 用户目录。 2. 用户…...

【备赛】在keil5里面创建新文件的方法+添加lcd驱动

一、先创建出文件夹和相应的.c和.h文件 因为在软件里面创建出的是在MDk文件那里面的&#xff0c;实际上是不存在你的新文件夹里的。 二、在keil5软件里面操作 1&#xff09;添加文件夹 -*---------------------------------------------------------- 这里最好加上相对路径&…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇&#xff0c;在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下&#xff1a; 【Note】&#xff1a;如果你已经完成安装等操作&#xff0c;可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作&#xff0c;重…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

【Linux】Linux 系统默认的目录及作用说明

博主介绍&#xff1a;✌全网粉丝23W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来&#xff0c;在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂&#xff0c;网络攻击、数据泄露等事件频发&#xff0c;现行法律已难以完全适应新的风险挑战。 2025年3月28日&#xff0c;国家网信办会同相关部门起草了《网络安全…...