当前位置: 首页 > 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;添加文件夹 -*---------------------------------------------------------- 这里最好加上相对路径&…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)

推荐 github 项目:GeminiImageApp(图片生成方向&#xff0c;可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...

写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里

写一个shell脚本&#xff0c;把局域网内&#xff0c;把能ping通的IP和不能ping通的IP分类&#xff0c;并保存到两个文本文件里 脚本1 #!/bin/bash #定义变量 ip10.1.1 #循环去ping主机的IP for ((i1;i<10;i)) doping -c1 $ip.$i &>/dev/null[ $? -eq 0 ] &&am…...

python打卡第47天

昨天代码中注意力热图的部分顺移至今天 知识点回顾&#xff1a; 热力图 作业&#xff1a;对比不同卷积层热图可视化的结果 def visualize_attention_map(model, test_loader, device, class_names, num_samples3):"""可视化模型的注意力热力图&#xff0c;展示模…...

Yii2项目自动向GitLab上报Bug

Yii2 项目自动上报Bug 原理 yii2在程序报错时, 会执行指定action, 通过重写ErrorAction, 实现Bug自动提交至GitLab的issue 步骤 配置SiteController中的actions方法 public function actions(){return [error > [class > app\helpers\web\ErrorAction,],];}重写Error…...