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

Linux系统调优技巧

Linux系统调优技巧

      • Linux 性能调优技巧的深度分析及场景案例
        • 目录
      • 1. Linux 性能调优的基础概念
        • 1.1 性能调优的目标
        • 1.2 常见的性能瓶颈
      • 2. 系统监控与性能分析工具
        • 2.1 常用工具介绍
        • 2.2 实战案例:如何通过工具定位性能问题
      • 3. CPU 性能调优
        • 3.1 CPU 负载分析
        • 3.2 CPU 调度优化
        • 3.3 实战案例:高并发场景下的 CPU 调优
      • 4. 内存性能调优
        • 4.1 内存管理机制
        • 4.2 虚拟内存与物理内存调优
        • 4.3 实战案例:内存泄漏和内存碎片化的优化
      • 5. I/O 性能调优
        • 5.1 文件系统与磁盘 I/O 调优
        • 5.2 网络 I/O 调优
        • 5.3 实战案例:高 I/O 负载场景下的优化策略
      • 6. 网络性能调优
        • 6.1 网络栈调优
        • 6.2 网络带宽与延迟优化
        • 6.3 实战案例:大规模分布式系统中的网络优化
      • 7. 内核参数调优
        • 7.1 内核参数介绍
        • 7.2 常见内核参数调优策略
        • 7.3 实战案例:内核参数调优在高吞吐量场景中的应用
      • 8. 应用层性能调优
        • 8.1 应用程序性能分析
        • 8.2 应用层缓存机制的优化
        • 8.3 实战案例:数据库性能调优策略

Linux 性能调优技巧的深度分析及场景案例


在现代 IT 基础设施中,Linux 系统已经成为服务器和嵌入式设备的主流操作系统之一。随着业务规模的扩大和应用场景的复杂化,Linux 系统的性能成为了影响服务质量和用户体验的关键因素之一。本文将从多个维度深入分析 Linux 性能调优的技巧,并结合实际场景案例,探讨如何有效提高 Linux 系统的性能。


目录
  1. Linux 性能调优的基础概念

    • 1.1 性能调优的目标
    • 1.2 常见的性能瓶颈
  2. 系统监控与性能分析工具

    • 2.1 常用工具介绍
    • 2.2 实战案例:如何通过工具定位性能问题
  3. CPU 性能调优

    • 3.1 CPU 负载分析
    • 3.2 CPU 调度优化
    • 3.3 实战案例:高并发场景下的 CPU 调优
  4. 内存性能调优

    • 4.1 内存管理机制
    • 4.2 虚拟内存与物理内存调优
    • 4.3 实战案例:内存泄漏和内存碎片化的优化
  5. I/O 性能调优

    • 5.1 文件系统与磁盘 I/O 调优
    • 5.2 网络 I/O 调优
    • 5.3 实战案例:高 I/O 负载场景下的优化策略
  6. 网络性能调优

    • 6.1 网络栈调优
    • 6.2 网络带宽与延迟优化
    • 6.3 实战案例:大规模分布式系统中的网络优化
  7. 内核参数调优

    • 7.1 内核参数介绍
    • 7.2 常见内核参数调优策略
    • 7.3 实战案例:内核参数调优在高吞吐量场景中的应用
  8. 应用层性能调优

    • 8.1 应用程序性能分析
    • 8.2 应用层缓存机制的优化
    • 8.3 实战案例:数据库性能调优策略
  9. 总结与展望


1. Linux 性能调优的基础概念

1.1 性能调优的目标

Linux 性能调优的目标在于最大化系统资源的利用率,提高系统的响应速度和处理能力,同时确保系统在高负载或恶劣环境下的稳定性。具体而言,性能调优的主要目标包括:

  • 降低系统响应时间:减少系统处理请求的延迟,提升用户体验。
  • 提高吞吐量:增加系统在单位时间内处理的任务数量。
  • 优化资源利用率:合理分配 CPU、内存、I/O 等资源,避免资源浪费。
  • 增强系统稳定性:在高负载情况下维持系统的稳定运行,避免宕机或性能下降。
1.2 常见的性能瓶颈

在进行性能调优时,首先需要识别系统中的性能瓶颈。常见的性能瓶颈包括:

  • CPU 瓶颈:CPU 资源被过度消耗,导致系统处理速度变慢。
  • 内存瓶颈:内存不足或内存使用效率低下,导致系统频繁使用交换空间,影响性能。
  • I/O 瓶颈:磁盘或网络 I/O 速度过慢,限制了系统的吞吐量。
  • 网络瓶颈:网络带宽不足或延迟过高,影响了系统的通信效率。

2. 系统监控与性能分析工具

2.1 常用工具介绍

在进行性能调优之前,准确的性能监控和分析是必要的。以下是一些常用的 Linux 性能监控与分析工具:

  • tophtop:实时监控系统的 CPU、内存、进程等资源使用情况。
  • vmstat:显示系统的虚拟内存、进程、I/O 和 CPU 的实时统计信息。
  • iostat:监控磁盘 I/O 和 CPU 使用情况。
  • netstatss:查看网络连接和端口状态,监控网络流量。
  • sar:收集系统的 CPU、内存、磁盘和网络等资源的历史统计数据。
  • strace:追踪进程的系统调用,分析进程的行为。
  • perf:高级性能分析工具,用于分析 CPU 使用率、缓存命中率等详细指标。
2.2 实战案例:如何通过工具定位性能问题

案例:CPU 使用率过高

在一个高并发的 web 服务器上,管理员发现系统响应变慢,怀疑是 CPU 资源耗尽导致的问题。通过以下步骤进行分析:

  1. 使用 tophtop 查看 CPU 使用情况,确定是否存在高 CPU 占用的进程。
  2. 使用 perf 分析高 CPU 使用率的进程,查找消耗 CPU 的具体函数或代码路径。
  3. 使用 strace 进一步追踪系统调用,定位系统性能瓶颈是否在 I/O 或内存上。

通过以上步骤,管理员发现某个服务进程中频繁调用 CPU 密集型函数,导致 CPU 资源耗尽。通过优化代码和算法,将 CPU 使用率降低,提升了系统性能。

3. CPU 性能调优

3.1 CPU 负载分析

在 Linux 系统中,CPU 负载通常由以下几个方面组成:

  • 用户空间负载:由用户态进程消耗的 CPU 时间。
  • 内核空间负载:由内核态进程和系统调用消耗的 CPU 时间。
  • 等待 I/O 时间:由于 I/O 操作引起的 CPU 等待时间。

通过 vmstatsar 等工具,可以查看这些不同类别的 CPU 负载,帮助分析系统性能问题。

3.2 CPU 调度优化

Linux 系统采用复杂的调度算法来分配 CPU 资源。调度优化可以从以下几个方面入手:

  • 调度器的选择:选择适合的调度器(如 CFS 调度器)来优化特定场景下的性能。
  • 实时调度优化:在实时系统中,使用实时调度策略(如 FIFO 或 RR)来提高响应速度。
  • 中断处理优化:合理配置中断处理器,减少中断对 CPU 的影响。
3.3 实战案例:高并发场景下的 CPU 调优

案例:在线交易系统的 CPU 调优

在一个在线交易系统中,由于高并发请求,系统 CPU 负载过高,导致响应时间延长。通过以下方法进行调优:

  1. 使用 perf 分析 系统的 CPU 使用情况,确定主要的 CPU 消耗点。
  2. 优化应用程序代码,减少不必要的计算,使用更高效的算法。
  3. 调整进程优先级,提高关键进程的优先级,确保重要任务优先处理。
  4. 配置 CPU 亲和性,将特定进程绑定到特定 CPU 上,减少上下文切换。

最终,系统的 CPU 使用率大幅下降,响应时间显著提升。

4. 内存性能调优

4.1 内存管理机制

Linux 系统中的内存管理包括物理内存、虚拟内存和交换空间。了解内存的管理机制有助于进行有效的调优:

  • 物理内存:系统中的实际内存,用于存储正在运行的进程和数据。
  • 虚拟内存:通过内存分页技术,将物理内存和磁盘交换空间结合起来,提供比实际内存更大的地址空间。
  • 交换空间:当物理内存不足时,系统会将部分数据写入磁盘的交换空间,以腾出内存供其他进程使用。
4.2 虚拟内存与物理内存调优

内存调优的关键在于提高内存的使用效率,减少内存瓶颈:

  • 优化交换空间的使用:通过调整 swappiness 参数,控制系统使用交换空间的频率。
  • 减少内存碎片化:通过内存池技术或调整内核参数,减少内存碎片化问题。
  • 增大内存页大小:在需要大量内存的场景下,可以通过调整 hugepages 参数,增大内存页的大小,提高内存管理效率。
4.3 实战案例:内存泄漏和内存碎片化的优化

**案例

:长时间运行的服务内存泄漏问题**

某在线服务长时间运行后,内存使用不断增加,导致系统性能下降。通过以下步骤进行调优:

  1. 使用 valgrind 工具检测内存泄漏,找到程序中未释放的内存块。
  2. 优化代码,确保每个内存分配都对应正确的内存释放,避免内存泄漏。
  3. 调整内核参数,如 vm.min_free_kbytesvm.overcommit_memory,优化内存分配策略。
  4. 监控内存碎片化,通过 slabtop 工具查看内存碎片化情况,调整内存分配算法。

通过优化后,系统内存使用更加稳定,长时间运行后性能不再下降。

5. I/O 性能调优

5.1 文件系统与磁盘 I/O 调优

磁盘 I/O 是影响系统性能的一个关键因素。通过以下方法可以进行调优:

  • 选择合适的文件系统:不同的文件系统在不同场景下有不同的性能表现,如 ext4XFS 等。
  • 优化文件系统挂载选项:通过调整文件系统的挂载选项(如 noatimenodiratime),减少不必要的 I/O 操作。
  • 调整 I/O 调度策略:选择合适的 I/O 调度器(如 deadlinecfq),优化 I/O 性能。
5.2 网络 I/O 调优

网络 I/O 性能的优化可以从以下几个方面入手:

  • 优化网络协议栈:通过调整网络协议栈的缓冲区大小、窗口大小等参数,提高网络吞吐量。
  • 减少网络延迟:通过启用 TCP_NODELAY 选项或使用更高效的协议(如 UDP),减少网络通信延迟。
  • 分散网络负载:使用负载均衡技术将网络流量分散到多个服务器上,避免单点瓶颈。
5.3 实战案例:高 I/O 负载场景下的优化策略

案例:数据分析系统的 I/O 调优

在一个大数据分析系统中,磁盘 I/O 成为性能瓶颈,数据处理速度严重受限。通过以下步骤进行调优:

  1. 选择高效的文件系统,如 XFS,提高大文件读写性能。
  2. 调整 I/O 调度器,使用 deadline 调度器,减少 I/O 等待时间。
  3. 启用异步 I/O,提高磁盘 I/O 的并发处理能力。
  4. 分布式存储系统,将数据存储在多个节点上,通过分布式文件系统(如 HDFS)提高 I/O 吞吐量。

通过调优,数据处理速度显著提升,I/O 瓶颈得到有效缓解。

6. 网络性能调优

6.1 网络栈调优

Linux 系统的网络栈包括多层协议,每一层都可以通过调优来提高性能:

  • TCP/IP 参数调优:调整 TCP/IP 协议栈的缓冲区大小、窗口大小、重传策略等参数,提高网络传输效率。
  • 中断处理优化:通过调整中断处理的策略,减少网络包的处理延迟。
  • 多队列网卡:使用多队列网卡,分配不同队列处理不同的数据流,提高网络处理能力。
6.2 网络带宽与延迟优化

在高带宽需求的场景中,优化网络带宽和减少网络延迟是提高性能的关键:

  • 启用 TCP_NODELAY:减少 TCP 数据包的聚合,降低延迟。
  • 调整网络缓冲区:增大网络缓冲区,减少网络拥塞带来的性能影响。
  • 使用 CDN 和缓存技术:在大规模分布式系统中,使用 CDN 和缓存技术减轻网络带宽压力,提高响应速度。
6.3 实战案例:大规模分布式系统中的网络优化

案例:分布式存储系统的网络调优

在一个分布式存储系统中,网络延迟影响了数据的读写性能。通过以下步骤进行调优:

  1. 调整 TCP 参数,如 tcp_rmemtcp_wmem,优化网络缓冲区大小,提高传输速度。
  2. 优化中断处理,通过 irqbalance 工具优化中断分配,减少 CPU 处理延迟。
  3. 使用 CDN 缓存,将静态内容缓存到 CDN 节点,减少跨区域网络传输的延迟。

最终,系统的网络延迟大幅降低,数据读写性能显著提升。

7. 内核参数调优

7.1 内核参数介绍

Linux 内核提供了大量可调参数,通过 /proc/sys 文件系统或 sysctl 命令可以动态调整这些参数,进行系统调优。常见的内核参数包括:

  • vm.swappiness:控制交换空间的使用频率。
  • net.core.somaxconn:设置系统允许的最大监听队列长度。
  • fs.file-max:控制系统可同时打开的文件数。
7.2 常见内核参数调优策略

在进行内核参数调优时,需根据实际业务场景选择合适的参数:

  • 高并发服务器:提高 net.core.somaxconnfs.file-max 参数,支持更多并发连接和文件操作。
  • 内存受限系统:降低 vm.swappiness 参数,减少系统使用交换空间的频率,提高内存使用效率。
  • I/O 密集型系统:调整 vm.dirty_ratiovm.dirty_background_ratio 参数,优化 I/O 缓存策略。
7.3 实战案例:内核参数调优在高吞吐量场景中的应用

案例:Web 服务器的内核参数调优

在一个高流量的 Web 服务器中,默认的内核参数限制了系统的处理能力。通过以下步骤进行调优:

  1. 增大 net.core.somaxconn 参数,支持更多的连接请求,减少连接排队等待时间。
  2. 调整 fs.file-max 参数,允许系统同时打开更多文件,减少文件打开失败的可能性。
  3. 优化 TCP 参数,如 tcp_tw_recycletcp_tw_reuse,加快短连接的回收速度,减少 TIME_WAIT 状态的连接数。

通过调优,Web 服务器的并发处理能力大幅提升,系统吞吐量明显增加。

8. 应用层性能调优

8.1 应用程序性能分析

在应用层面,性能调优通常需要深入分析应用程序的代码和逻辑。以下是一些常见的应用程序性能分析方法:

  • 代码剖析:使用 gprofperf 工具分析应用程序的性能瓶颈,找出消耗资源最多的代码路径。
  • 内存剖析:使用 valgrind 等工具分析应用程序的内存使用情况,找出内存泄漏和不必要的内存分配。
  • 线程分析:在多线程应用程序中,使用 straceltrace 工具分析线程之间的竞争和锁争用问题。
8.2 应用层缓存机制的优化

在高性能应用中,合理使用缓存机制可以显著提高系统的响应速度和吞吐量。常见的缓存优化策略包括:

  • 使用内存缓存:如 Redis 或 Memcached,缓存频繁访问的数据,减少数据库查询次数。
  • 优化缓存策略:根据访问频率和数据更新频率,调整缓存失效时间和淘汰策略。
  • 分布式缓存:在大规模分布式系统中,使用分布式缓存技术(如 Cassandra 或 Consul)提高缓存的可扩展性和可用性。
8.3 实战案例:数据库性能调优策略

案例:高并发数据库系统的调优

在一个高并发数据库系统中,查询响应时间长,系统吞吐量受限。通过以下步骤进行调优:

  1. 优化 SQL 查询,减少不必要的复杂查询和联接操作,使用索引提高查询速度。
  2. 使用 Memcached 缓存热点数据,减少数据库查询次数,提高系统响应速度。
  3. 调整数据库连接池 参数,支持更多并发连接,减少连接创建的开销。
  4. 分区与分表,将大表按业务逻辑拆分成多个小表,减少单表数据量,提高查询效率。

通过调优,数据库系统的响应时间大幅减少,系统吞吐量显著提升。

相关文章:

Linux系统调优技巧

Linux系统调优技巧 Linux 性能调优技巧的深度分析及场景案例目录 1. Linux 性能调优的基础概念1.1 性能调优的目标1.2 常见的性能瓶颈 2. 系统监控与性能分析工具2.1 常用工具介绍2.2 实战案例:如何通过工具定位性能问题 3. CPU 性能调优3.1 CPU 负载分析3.2 CPU 调…...

计算机学习

不要只盯着计算机语言学习,你现在已经学习了C语言和Java,暑假又规划学习Python,最后你掌握的就是计算机语言包而已。 2. 建议你找一门想要深挖的语言,沿着这个方向继续往后学习知识就行。计算机语言是学不完的,而未来就…...

数字医学影像系统PACS源码,三甲以下医院都能满足,C#语言开发,C/S架构系统成熟稳定,支持二次开发项目使用。

数字医学影像系统(RIS/PACS)源码,三甲以下的医院都能满足。开发技术:C/S架构,C#开发语言,数据库服务器采用Oracle数据库。 PACS系统模块组成 : 工作站: 分诊工作站、超声工作站、放…...

C++语言基础|循环结构

C语言基础|循环结构 循环1. for语句2. while循环3. do…while语句 循环 在程序中,常常需要重复地执行某些操作。C提供了3种循环语句:for语句、while语句和do-while语句。在循环语句中,重复执行的操作叫做循环体。循环体可以是单条语句、块语…...

【学习笔记】解决在声音输出中找不到蓝牙耳机设备的问题

【学习笔记】在声音输出中找不到蓝牙耳机设备 在使用蓝牙耳机的时候,遇见一个问题,就是在电脑在连接蓝牙耳机之后,在声音输出中找不到蓝牙耳机设备,只能使用扬声器播放声音。电脑使用的是Windows 11系统。后来在网上寻找解决方案…...

PPPoE基础笔记

一、拨号原理 1.Discovery(发现阶段) PADI Client 发送广播的PADI报文,报文中包含Client想要的服务信息。 PADO Server收到PADI后,会向Client回复一个单播的PADO报文。 PADR Client 收到最先收到的PADO…...

开发组日志记录SPEC_v0.1.0

文章目录 开发组日志记录SPEC_v0.1.0目的设计逻辑1. User日志记录器1.1 记录器标签内容介绍1.2 程序打印User日志规则 2. Dev日志记录器2.1 记录器标签内容介绍2.2 程序打印Dev日志规则 3.代码说明3.1 代码详情3.2 使用说明 更新记录 时间版本内容修订者备注2024/08/150.1.0创…...

MySQL8 innoDB引擎的精髓

[client] port 3306 socket /var/lib/mysql/mysql.sock [mysql] #prompt"\umysqldb \R:\m:\s [\d]> " #关闭自动补全sql命令功能 no-auto-rehash ########################################################################### ##服务端参数配置 ######…...

【C语言实现花屏效果并打包程序为exe可执行文件】

说明&#xff1a;该程序为临摹改良(&#x1f600;)作品&#xff0c;源地址C/C屏幕恶搞程序 效果展示 上代码 #include <windows.h>#define NUM 11451LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);int main() // Renamed WinMain to main {static int iKeep[NU…...

数据结构——排序(2):选择排序+交换排序

目录 一、选择排序 &#xff08;1&#xff09;直接选择排序 ①思路 ②过程图示 ③代码实现 ④代码解释 ⑤优化 1.代码实现 2.过程图示 3.代码解释 4.注意 ⑥直接选择排序的复杂度 &#xff08;2&#xff09;堆排序 ①注意 ②代码实现 二、交换排序 &#xff08…...

jenkins升级踩坑记录

1. 直接用java 1.8版本启动最新版jenkins.war&#xff0c;直接失败 2. 下载java 11启动&#xff0c;依然失败&#xff0c;换成java17版本可以启动&#xff0c;但会报错 解决报错1&#xff1a; java.io.IOException: Failed to load: Parameterized Remote Trigger Plugin (Pa…...

mysql笔记第二篇

平时业务开发&#xff0c;大部分业务逻辑是使用sql还是代码编写呢&#xff1f; 这个每个公司可能要求不同&#xff0c;其实是每个公司负责人根据公司业务制定的规定。或者根本没有规定&#xff0c;每个负责单个项目的人领到需求直接开整&#xff0c;sql一把梭导致后面其他人维护…...

Facebook的区块链技术:提升数据安全与隐私保护

去中心化的优势 随着数字化时代的快速发展&#xff0c;数据安全和隐私保护已成为全球范围内备受关注的话题。Facebook作为全球最大的社交平台之一&#xff0c;正在积极探索如何通过区块链技术来提升数据的安全性和用户的隐私保护。区块链技术以其去中心化、不可篡改和透明的特…...

⌈ 传知代码 ⌋ Visual SLAM函数

&#x1f49b;前情提要&#x1f49b; 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间&#xff0c;对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…...

Vue组件之间的通信

一、通信方式 Props 和 Events&#xff1a;通过父组件传递 props 给子组件&#xff0c;子组件使用 $emit 发送事件到父组件。Event Bus&#xff1a;使用一个中央事件总线来跨组件通信。Vuex&#xff1a;使用 Vuex 进行全局状态管理&#xff0c;以便在任何组件间共享状态。Prov…...

【AI 绘画】模型转换与快速生图(基于diffusers)

AI 绘画- 模型转换与快速生图&#xff08;基于diffusers&#xff09; 1. 本章介绍 本次主要展示一下不同框架内文生图模型转换&#xff0c;以及快速生成图片的方法。 SDXL文生图 2. sdxl_lightning基本原理 模型基本原理介绍如下 利用蒸馏方法获取小参数模型。首先&#x…...

甄选范文“论软件设计方法及其应”软考高级论文系统架构设计师论文

论文真题 软件设计(Software Design,SD)根据软件需求规格说明书设计软件系统的整体结构、划分功能模块、确定每个模块的实现算法以及程序流程等,形成软件的具体设计方案。软件设计把许多事物和问题按不同的层次和角度进行抽象,将问题或事物进行模块化分解,以便更容易解决…...

leetcode线段树(2940. 找到 Alice 和 Bob 可以相遇的建筑)

前言 经过前期的基础训练以及部分实战练习&#xff0c;粗略掌握了各种题型的解题思路。现阶段开始专项练习。 描述 给你一个下标从 0 开始的正整数数组 heights &#xff0c;其中 heights[i] 表示第 i 栋建筑的高度。 如果一个人在建筑 i &#xff0c;且存在 i < j 的建筑…...

用于不平衡医疗数据分类的主动SMOTE

一、主动学习如何应用于不平衡数据的处理 首先&#xff0c;主动SMOTE不是像经典的SMOTE那样从训练集中随机选择一个样本作为生成合成样本的轴心点&#xff0c;而是通过不确定性和多样性采样来智能地进行样本选择&#xff0c;这是主动学习的两种技术。 在数据不平衡的情况下&…...

linux文件更新日期与系统日期比较

项目说明&#xff1a; 要获取linux系统中某目录下最新文件的修改时间并与当前系统时间进行比较&#xff0c;可以使用以下步骤&#xff1a; 使用 ls 命令获取最新文件的修改时间。 使用 date 命令获取当前时间。 计算时间差并打印结果。 实例脚本如下&#xff1a; #!/bin/…...

leetCode - - - 哈希表

目录 1.模拟行走机器人&#xff08;LeetCode 874&#xff09; 2.数组的度&#xff08;LeetCode 697&#xff09; 3.子域名访问次数&#xff08;LeetCode 811&#xff09; 4.字母异位词分组&#xff08;LeetCode 49&#xff09; 5.小结 1.常见的哈希表实现 2.遍历Map 1.模…...

NGINX自动清理180天之前的日志

需求描述 日志每天会以天为单位产生一个日志&#xff0c;不清理的话会越来越多。这里写一个Lua自定定时清理日志目录下的日志文件。 依赖安装 安装 lfs 模块 yum install luarocks yum install lua-develluarocks install luafilesystem 创建模拟旧文件 创建了一个1月的旧…...

jackson 轻松搞定接口数据脱敏

一、简介 实际的业务开发过程中&#xff0c;我们经常需要对用户的隐私数据进行脱敏处理&#xff0c;所谓脱敏处理其实就是将数据进行混淆隐藏&#xff0c;例如下图&#xff0c;将用户的手机号、地址等数据信息&#xff0c;采用*进行隐藏&#xff0c;以免泄露个人隐私信息。 如…...

Nginx 正则表达式与rewrite

目录 一、正则表达式 二、rewrite 2.1 rewrite简述 2.2 rewrite 跳转 2.3 rewrite 执行顺序 2.4 rewrite 语法格式 三、location 3.1 location 类别 3.2 location常用匹配规则 3.3 location优先级 3.4 示例说明 3.5 匹配规则总结 3.6 三个匹配规则定义 四、实战…...

tekton什么情况下在Dockerfile中需要用copy

kaniko配置如下 如果docker中的workDir跟tekton中的workDir不一致需要copy。也可以通过mv&#xff0c;cp达到类似效果...

第九届世界渲染大赛在哪里提交作品呢?

自第九届世界渲染大赛开放投稿以来&#xff0c;已经过去了10天。在这段时间里&#xff0c;众多CG爱好者已经完成了他们的动画创作。然而&#xff0c;许多参赛者对于如何提交他们的作品仍然感到困惑。接下来&#xff0c;让我们一起了解具体的投稿流程和入口&#xff0c;确保每位…...

fastjson(autoType)反序列化漏洞

1. 温少和他的fastjson 阿里巴巴的 FastJSON&#xff0c;也被称为 Alibaba FastJSON 或阿里巴巴 JSON&#xff0c;是一个高性能的 Java JSON 处理库&#xff0c;用于在 Java 应用程序中解析和生成 JSON 数据。FastJSON 以其卓越的性能和功能丰富的特点而闻名&#xff0c;并在…...

Java入门基础16:集合框架1(Collection集合体系、List、Set)

集合体系结构 Collection是单列集合的祖宗&#xff0c;它规定的方法&#xff08;功能&#xff09;是全部单列集合都会继承的。 collection集合体系 Collection的常用方法 package com.itchinajie.d1_collection;import java.util.ArrayList; import java.util.HashSet;/* * 目…...

Qt如何调用接口

在Qt中&#xff0c;你可以使用QNetworkAccessManager类来调用API。以下是一个简单的示例&#xff1a; cpp #include <QCoreApplication> #include <QNetworkAccessManager> #include <QNetworkRequest> #include <QNetworkReply> int main(int arg…...

Android14之解决编译libaaudio.so报错问题(二百二十七)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列…...

丹东谁做微网站/深圳seo优化培训

小伙伴们&#xff0c;我们分享继续哦第一节进程和线程https://www.bilibili.com/video/BV137411V7Y1/?p1951.1 进程和线程程序Program是一段静态的代码&#xff0c;它是应用程序执行的蓝本进程Process是指一种正在运行的程序&#xff0c;有自己的地址空间进程的特点动态性并发…...

自己做网站统计/seo文章范文

Spring中的单例模式和多例模式单例模式每个bean定义只生成一个对象实例,每次getBean请求获得的都是此实例单例模式分为饿汉模式和懒汉模式饿汉模式&#xff1a;spring singleton的缺省是饿汉模式:启动容器时(即实例化容器时),为所有spring配置文件中定义的bean都生成一个实例懒…...

勉费申请做网站/关键词搜索神器

关于Spring中基于xml文件配置bean的详细总结&#xff08;spring 4.1.0&#xff09; 一、Spring中的依赖注入方式介绍 依赖注入有三种方式 属性注入构造方法注入工厂方法注入&#xff08;很少使用&#xff0c;不推荐&#xff0c;本文不再介绍&#xff09;属性注入 通过 setter…...

dedecms wap网站模板下载/全国最好网络优化公司

在使用MySQL时&#xff0c;有时需要查询出某个字段不重复的记录&#xff0c;这时可以使用mysql提供的distinct这个关键字来过滤重复的记录&#xff0c;但是实际中我们往往用distinct来返回不重复字段的条数(count(distinct id)),其原因是distinct只能返回他的目标字段&#xff…...

青岛手机网站制作/3a汽车集团公司网络营销方案

1. 简介 PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。 2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch。它是一个基于Python的可续计算包,提供两个高级功能:1、具有强大的GPU加速的张量计算(如NumPy)。2、包含自…...

免费网页制作成app/seo网站推广如何做

JVM内存区域中&#xff0c;除了程序计数器外&#xff0c;其他几个运行时区域都有可能发生OutOfMemoryError&#xff08;OOM&#xff09;异常。本文对OOM异常进行总结&#xff0c;通过代码验证JVM规范中描述的运行时区域存储的内容&#xff1b;了解可能导致这些区域OOM异常的代码…...