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

Linux 性能调优技巧

1理解 Linux 性能的基本组成

  • CPU 使用率:衡量 CPU 在单位时间内被占用的程度。
  • 内存使用:关注的是活跃内存与缓存内存的比例,以及是否有过多的交换。
  • I/O 性能:磁盘读写速度直接影响应用程序的响应时间和吞吐量。
  • 网络性能:数据包的丢失率、延迟和带宽都是衡量标准。
  • 内核与进程管理:内核如何调度进程、管理内存、处理中断等都会影响性能。

2. CPU 性能调优

  • 处理器亲和性:taskset 命令用于将进程固定到特定的 CPU 核心上。
  • 调整 CPU 调度器:通过修改 /proc/sys/kernel/sched_* 文件中的参数来优化调度策略。
  • 实时调度:使用 chrt 设置进程的实时调度属性,确保关键任务得到及时执行。

3. 内存管理与优化

  • 交换性:调整 vm.swappiness 以控制何时开始交换内存到磁盘。
  • HugePages:对于内存密集型应用,使用大页内存可以减少页表项的数量。
  • OOM Killer:通过调整进程的 oom_score_adj 来影响其在内存不足时被 OOM Killer 选中的可能性。

4. 磁盘 I/O 性能调优

  • 选择合适的 I/O 调度器:根据存储设备类型选择最适合的调度算法。
  • 预读设置:适当调整预读可以帮助提高顺序读取的性能。
  • I/O 请求队列大小调整:增加队列大小可以提高处理高并发请求的能力。
  • 使用 iotop 监控 I/O:定位高 I/O 使用的进程以便进一步优化。

5. 网络性能优化

  • TCP 调优:调整 TCP 参数以优化网络传输。
  • 禁用 Nagle 算法:对于需要低延迟的应用,禁用 Nagle 可以减少数据包的延迟。
  • 绑定接口:使用 bonding 模块创建网络接口绑定以增加带宽和冗余。

6. 内核与进程管理

  • 调整内核参数:通过编辑 /etc/sysctl.conf 文件来优化内核行为。
  • 使用 cgroups 进行资源分配:控制组可以帮助合理分配系统资源。
  • NUMA 调优:对于 NUMA 架构,使用 numactl 优化内存和 CPU 的绑定。

7. 监控和分析工具

  • top 和 htop:实时查看系统资源使用情况。
  • vmstat:提供系统性能的整体视图。
  • perf:深入分析 CPU 性能。
  • sysstat 包:提供一系列的系统监控工具。

8. 高级文件系统调优

  • 选择合适的文件系统:根据工作负载选择最合适的文件系统。
  • 挂载选项:使用如 noatime 等选项减少不必要的磁盘写入。
  • 优化日志功能:调整日志模式以提高文件系统的写入性能。

相关文章:

Linux 性能调优技巧

1理解 Linux 性能的基本组成 CPU 使用率:衡量 CPU 在单位时间内被占用的程度。内存使用:关注的是活跃内存与缓存内存的比例,以及是否有过多的交换。I/O 性能:磁盘读写速度直接影响应用程序的响应时间和吞吐量。网络性能&#xff…...

【网络安全】WordPress Uncontrolled Resource Consumption

未经许可,不得转载。 文章目录 WordPresswp-cron.php实战漏洞危害解决措施WordPress WordPress 是全球最广泛使用的内容管理系统(CMS),目前约有 43% 的网站依赖于它。由于其用户友好的界面和丰富的插件功能,WordPress 成为了全球最受欢迎的 CMS。 然而,在使用 WordPres…...

gitee绑定公钥后依旧无法使用_gitee push添加公钥无效

解决: 步骤按照官网操作即可:gitee官方说明 看看远程地址是否使用的http模式,是的话换ssh模式...

Linux 删除 当前下的 mysql-8.0.31 空文件夹

在Linux中,如果你想要删除当前目录下的名为mysql-8.0.31的空文件夹(即该文件夹内没有任何文件或子文件夹),你可以使用rmdir命令。但是,如果mysql-8.0.31文件夹并非完全为空(即它包含文件或子文件夹&#xf…...

2024,中国服务器操作系统迎云智主升浪

“主升浪”描述了股市中一轮行情中涨幅最大、上升持续时间最长的阶段。2024年,云与AI深度融合形成了数字经济主升浪,从而打开了中国服务器操作系统的黄金机遇期。 2024年注定将成为非常不平凡的一年。不仅是实现“十四五”规划目标任务的关键一年&#x…...

STM32快速复习(九)RTC时钟模块

文章目录 前言一、RTC是什么?RTC的工作原理?二、库函数以及示例1.标准库函数2.示例代码 总结 前言 STM32 的实时时钟(RTC)是一个独立的定时器。 STM32 的 RTC 模块拥有一组连续计数的计数器,在相应软件配置下&#xf…...

Nacos注册中心与OpenFeign远程调用

文章目录 一、注册中心原理二、Nacos注册中心三、服务注册四、服务发现五、OpenFeign 一、注册中心原理 在微服务当中必须有两个角色 服务提供者:提供接口供其它微服务访问 服务消费者:调用其它微服务提供的接口 在大型微服务项目中,服务提供…...

【基础算法总结】双指针

目录 一,双指针算法介绍二,算法原理和代码实现283.移动零1089.复写零202.快乐数11.盛最多水的容器611.有效三角形的个数LRC179.和为s的两个数15.三数之和18.四数之和 三,算法总结 一,双指针算法介绍 双指针算法是基础算法之一&am…...

教你制作一本一对一授权才能阅读的样本册

在这个信息时代,保护个人隐私变得越来越重要。一对一授权阅读机制,正是为了满足这一需求而诞生。今天,就让我来教你如何制作一本只有一对一授权才能阅读的样本册。这不仅适用于保护个人隐私,还能为企业、研究机构等提供安全、高效…...

【DEV工具-IDEA】idea的光标变成黑块了?

项目场景: 解决:windows:按一下insert键。...

没通过算法备案 或许是这几点你没做好

没通过算法备案 或许是这几点你没做好 当企业提交算法备案遭遇“不予通过”时,往往是因为一些看似微小却至关重要的细节未能达到标准。以下是一些常见的原因,希望能为准备备案的企业提供一些预警和指导: ICP备案缺失:互联网信息服…...

力扣172.阶乘后的0

class Solution {public int trailingZeroes(int n) {int ans 0;//本质:每5个数有一个5的倍数,每25个数有一个25的倍数……int num 5;while(n / num ! 0) {ans n/num;num * 5;}return ans;} }...

Oracle 19c数据库:Windows详细安装与配置指南

Oracle 19c的安装和配置是一个相对复杂但系统化的过程,本文演示如何在 Windows 系统下安装 Oracle数据库,安装足够的磁盘空间(一般需要5~6个G,所以选剩余空间大的盘)。以下是一个详细的步骤指南,包括准备工…...

解决职业摔跤手分类问题的算法与实现

解决职业摔跤手分类问题的算法与实现 引言问题定义算法设计二分图判定算法步骤伪代码C语言实现引言 在职业摔跤界,摔跤手通常被分为“娃娃脸”(“好人”)型和“高跟鞋”(“坏人”)型。在任意一对摔跤手之间,都有可能存在竞争关系。本文的目标是设计一个算法,用于判断是…...

微擎框架

微擎框架之——多级查询显示每项个数-Poison-CSDN博客微擎框架之——系统内置分页加载-CSDN博客 微擎-关于安装模块时出现:Could not resolve: www.52xbjs.com (Could not contact DNS servers)-Poison-CSDN博客...

容器化技术在非结构化数据中台的部署研究

随着大数据时代的到来,非结构化数据的处理与管理日益成为企业和组织关注的重点。为应对非结构化数据中台在数据存储、处理及安全性等方面面临的挑战,本研究深入探讨了容器化技术在该领域的部署与应用。研究首先概述了容器化技术的基本概念、特点及其在非…...

RK3399 android7.1 话柄电话功能

实现功能:挂柄接IO口+GND控制话机听筒与系统喇叭的切换(抬起手柄声音由喇叭切换到听筒,挂到磁吸底座喇叭出声) 应用场景: 电子电话班牌,电话机等 硬件接线方式: 电话手柄:听筒接耳机座子<HRP,GND>,麦克风接<MIC+,MIC-> 电话底座:磁吸座子接<IO2,GND&g…...

实习四十:部署project_exam_system项目——及容器的编排

&#xff08;一&#xff09;安装docker、编辑daemon.json文件、安装docker-compose编排容器、启动docker 1.环境准备 [rootdocker--1 ~]# rz -E rz waiting to receive. [rootdocker--1 ~]# ls anaconda-ks.cfg docker.sh [rootdocker--1 ~]# source docker.sh [r…...

栈,队列

栈&#xff08;Stack&#xff09;和队列&#xff08;Queue&#xff09;是两种常用的数据结构&#xff0c;它们在计算机科学中有着广泛的应用。它们的主要区别在于元素的添加和移除方式。 栈&#xff08;Stack&#xff09;&#xff1a; 栈是一种后进先出&#xff08;Last In F…...

新增一个数组传递给后端

实现的效果&#xff1a; 页面 <div style"margin-bottom: 10px" v-if"totalPrice"><p style"font-weight: bolder;margin-bottom: 10px">支付计划<el-button type"text" size"small" click"addPayInf…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

初学 pytest 记录

安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

uniapp 小程序 学习(一)

利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 &#xff1a;开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置&#xff0c;将微信开发者工具放入到Hbuilder中&#xff0c; 打开后出现 如下 bug 解…...

云原生周刊:k0s 成为 CNCF 沙箱项目

开源项目推荐 HAMi HAMi&#xff08;原名 k8s‑vGPU‑scheduler&#xff09;是一款 CNCF Sandbox 级别的开源 K8s 中间件&#xff0c;通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度&#xff0c;为容器提供统一接口&#xff0c;实现细粒度资源配额…...

Pydantic + Function Calling的结合

1、Pydantic Pydantic 是一个 Python 库&#xff0c;用于数据验证和设置管理&#xff0c;通过 Python 类型注解强制执行数据类型。它广泛用于 API 开发&#xff08;如 FastAPI&#xff09;、配置管理和数据解析&#xff0c;核心功能包括&#xff1a; 数据验证&#xff1a;通过…...

32单片机——基本定时器

STM32F103有众多的定时器&#xff0c;其中包括2个基本定时器&#xff08;TIM6和TIM7&#xff09;、4个通用定时器&#xff08;TIM2~TIM5&#xff09;、2个高级控制定时器&#xff08;TIM1和TIM8&#xff09;&#xff0c;这些定时器彼此完全独立&#xff0c;不共享任何资源 1、定…...