ORACLE 19C RAC DIAG进程消耗大量内存的分析

近期一个ORACLE 19C的RAC环境,多次出现数据库实例的后台进程DIAG消耗很多内存(达到20G+),节点1、节点2都出现过次问题。
问题分析:通过对DIAG进程TRACE分析,结合在ORACLE官方后台进行问题、BUG查询匹配,该进程占用内存的现象不是持续增大,而是突然增大。目前分析是心跳网络不稳定时DIAG进程产生大量TRACE时的内存泄漏,导致DIAG进程占用很多内存(mos:Database Ora_dia0_* Process Consumes High Memory Utilization (文档 ID 2787583.1),此问题一般为私网的性能较差导致)。
处理办法:
1、之前是对DIAG进程人工KILL后释放内存(进程KILL后会自动启动不影响业务);后续考虑增加脚本在后台KILL此进程。
2、增加主机层的OSW监控工具监控网络性能,监控数据保留15天,持续监控分析。

相关日志如下:

1、消耗很多内存的DIAG进行信息截图,截图如下:

2、分析DIAG进程的TRACE日志,大量的IPCLW开头的日志

*** 2024-04-12T21:20:03.747180+08:00
2024-04-12 21:20:03.747 :kjzgrcfg_finalize(): Reconfig finished inc:8 state:5
2024-04-12 21:20:03.789 :kjzgrcfg_msghdlr(): Step 1 remote_inc:8 prop_inc:8 state:5 master:0
IPCLW:[0.123777436]{E}[WAIT]:PROTO: [1712928004190595]RETRANS DBG local acnh 0x7fcfc4721ca8 dump:
IPCLW:[0.123777437]{-}[WAIT]:UTIL: [1712928004190595]  ACNH 0x7fcfc4721ca8 State: 1 SMSN: 69887638 PKT(69906133.325238309) # Pending: 4096
IPCLW:[0.123777438]{-}[WAIT]:UTIL: [1712928004190595]   Peer: DIA0.KSXP_diag.67881 AckSeq: 325234213
IPCLW:[0.123777439]{-}[WAIT]:UTIL: [1712928004190595]   Flags: 0x20000000 IHint: 0x5e64fe2a0000001f THint: 0x3218cc490000001c 
IPCLW:[0.123777440]{-}[WAIT]:UTIL: [1712928004190595]   Local Address: 169.254.12.225:60038 Remote Address: 169.254.1.19:51696
IPCLW:[0.123777441]{-}[WAIT]:UTIL: [1712928004190595]   Remote PID: ver 0 flags 1 trans 2 tos 0 opts 0 xdata3 28b1 xdata2 e85e640e
IPCLW:[0.123777442]{-}[WAIT]:UTIL: [1712928004190595]             : mmsz 32768 mmr 4096 mms 4096 xdata 101630a2
IPCLW:[0.123777443]{-}[WAIT]:UTIL: [1712928004190595]   IVPort: 63416 TVPort: 12450 IMPT: 47425 RMPT: 10417   Pending Sends: Yes Unacked Sends: Yes 
IPCLW:[0.123777444]{-}[WAIT]:UTIL: [1712928004190595]   Send Engine Queued: Yes sshdl -1 ssts 0 rtts 1712928004190837 snderrchk 5 creqcnt 1 credits 0/8
IPCLW:[0.123777445]{-}[WAIT]:UTIL: [1712928004190595]   Unackd Messages 69902037 -> 69906132. SSEQ 325234213 Send Time: INVALID TIME SMSN # Xmits: 3977664 EMSN INVALID TIME
IPCLW:[0.123777446]{-}[WAIT]:UTIL: [1712928004190595]  Pending send queue: 
IPCLW:[0.123777447]{-}[WAIT]:UTIL: [1712928004190595]    [0] mbuf 0x7fcfc47467d0 MSN 69902037 Seq 325234213 -> 325234214 # XMits: 3977664
IPCLW:[0.123777448]{-}[WAIT]:UTIL: [1712928004190595]    [1] mbuf 0x7fcfc4746bf0 MSN 69902038 Seq 325234214 -> 325234215 # XMits: 3977663
IPCLW:[0.123777449]{-}[WAIT]:UTIL: [1712928004190595]    [2] mbuf 0x7fcfc47463b0 MSN 69902039 Seq 325234215 -> 325234216 # XMits: 3977662
IPCLW:[0.123777450]{-}[WAIT]:UTIL: [1712928004190595]    [3] mbuf 0x7fcfc4745f90 MSN 69902040 Seq 325234216 -> 325234217 # XMits: 3977661
IPCLW:[0.123777451]{-}[WAIT]:UTIL: [1712928004190595]    [4] mbuf 0x7fcfc4745b70 MSN 69902041 Seq 325234217 -> 325234218 # XMits: 3977660
IPCLW:[0.123777452]{-}[WAIT]:UTIL: [1712928004190595]    [5] mbuf 0x7fcfc4745750 MSN 69902042 Seq 325234218 -> 325234219 # XMits: 3977659
IPCLW:[0.123777453]{-}[WAIT]:UTIL: [1712928004190595]    [6] mbuf 0x7fcfc4745330 MSN 69902043 Seq 325234219 -> 325234220 # XMits: 3977658
IPCLW:[0.123777454]{-}[WAIT]:UTIL: [1712928004190595]    [7] mbuf 0x7fcfc4744f10 MSN 69902044 Seq 325234220 -> 325234221 # XMits: 3977657
IPCLW:[0.123777455]{-}[WAIT]:UTIL: [1712928004190595]    [8] mbuf 0x7fcfc4744af0 MSN 69902045 Seq 325234221 -> 325234222 # XMits: 0
IPCLW:[0.123777456]{-}[WAIT]:UTIL: [1712928004190595]    [9] mbuf 0x7fcfc47446d0 MSN 69902046 Seq 325234222 -> 325234223 # XMits: 0
IPCLW:[0.123777457]{-}[WAIT]:UTIL: [1712928004190595]    [10] mbuf 0x7fcfc47442b0 MSN 69902047 Seq 325234223 -> 325234224 # XMits: 0
IPCLW:[0.123777458]{-}[WAIT]:UTIL: [1712928004190595]    [11] mbuf 0x7fcfc4743e90 MSN 69902048 Seq 325234224 -> 325234225 # XMits: 0
IPCLW:[0.123777459]{-}[WAIT]:UTIL: [1712928004190595]    [12] mbuf 0x7fcfc4743a70 MSN 69902049 Seq 325234225 -> 325234226 # XMits: 0
IPCLW:[0.123777460]{-}[WAIT]:UTIL: [1712928004190595]    [13] mbuf 0x7fcfc4743650 MSN 69902050 Seq 325234226 -> 325234227 # XMits: 0
IPCLW:[0.123777461]{-}[WAIT]:UTIL: [1712928004190595]    [14] mbuf 0x7fcfc4743230 MSN 69902051 Seq 325234227 -> 325234228 # XMits: 0
IPCLW:[0.123777462]{-}[WAIT]:UTIL: [1712928004190595]    [15] mbuf 0x7fcfc4742e10 MSN 69902052 Seq 325234228 -> 325234229 # XMits: 0
IPCLW:[0.123777463]{-}[WAIT]:UTIL: [1712928004190595]    [16] mbuf 0x7fcfc47429f0 MSN 69902053 Seq 325234229 -> 325234230 # XMits: 0
IPCLW:[0.123777464]{-}[WAIT]:UTIL: [1712928004190595]    [17] mbuf 0x7fcfc47425d0 MSN 69902054 Seq 325234230 -> 325234231 # XMits: 0
IPCLW:[0.123777465]{-}[WAIT]:UTIL: [1712928004190595]    [18] mbuf 0x7fcfc47421b0 MSN 69902055 Seq 325234231 -> 325234232 # XMits: 0
IPCLW:[0.123777466]{-}[WAIT]:UTIL: [1712928004190595]    [19] mbuf 0x7fcfc4741d90 MSN 69902056 Seq 325234232 -> 325234233 # XMits: 0
IPCLW:[0.123777467]{-}[WAIT]:UTIL: [1712928004190595]    [20] mbuf 0x7fcfc4741970 MSN 69902057 Seq 325234233 -> 325234234 # XMits: 0
IPCLW:[0.123777468]{-}[WAIT]:UTIL: [1712928004190595]    [21] mbuf 0x7fcfc4741550 MSN 69902058 Seq 325234234 -> 325234235 # XMits: 0
IPCLW:[0.123777469]{-}[WAIT]:UTIL: [1712928004190595]    [22] mbuf 0x7fcfc4741130 MSN 69902059 Seq 325234235 -> 325234236 # XMits: 0
IPCLW:[0.123777470]{-}[WAIT]:UTIL: [1712928004190595]    [23] mbuf 0x7fcfc4740d10 MSN 69902060 Seq 325234236 -> 325234237 # XMits: 0
IPCLW:[0.123777471]{-}[WAIT]:UTIL: [1712928004190595]    [24] mbuf 0x7fcfc47408f0 MSN 69902061 Seq 325234237 -> 325234238 # XMits: 0
IPCLW:[0.123777472]{-}[WAIT]:UTIL: [1712928004190595]    [25] mbuf 0x7fcfc47404d0 MSN 69902062 Seq 325234238 -> 325234239 # XMits: 0
IPCLW:[0.123777473]{-}[WAIT]:UTIL: [1712928004190595]    [26] mbuf 0x7fcfc47400b0 MSN 69902063 Seq 325234239 -> 325234240 # XMits: 0
IPCLW:[0.123777474]{-}[WAIT]:UTIL: [1712928004190595]    [27] mbuf 0x7fcfc473fc90 MSN 69902064 Seq 325234240 -> 325234241 # XMits: 0
IPCLW:[0.123777475]{-}[WAIT]:UTIL: [1712928004190595]    [28] mbuf 0x7fcfc473f870 MSN 69902065 Seq 325234241 -> 325234242 # XMits: 0
IPCLW:[0.123777476]{-}[WAIT]:UTIL: [1712928004190595]    [29] mbuf 0x7fcfc473f450 MSN 69902066 Seq 325234242 -> 325234243 # XMits: 0
IPCLW:[0.123777477]{-}[WAIT]:UTIL: [1712928004190595]    [30] mbuf 0x7fcfc473f030 MSN 69902067 Seq 325234243 -> 325234244 # XMits: 0
IPCLW:[0.123777478]{-}[WAIT]:UTIL: [1712928004190595]    [31] mbuf 0x7fcfc473ec10 MSN 69902068 Seq 325234244 -> 325234245 # XMits: 0
IPCLW:[0.123777479]{-}[WAIT]:UTIL: [1712928004190595]    [32] mbuf 0x7fcfc473e7f0 MSN 69902069 Seq 325234245 -> 325234246 # XMits: 0
IPCLW:[0.123777480]{-}[WAIT]:UTIL: [1712928004190595]    [33] mbuf 0x7fcfc473e3d0 MSN 69902070 Seq 325234246 -> 325234247 # XMits: 0
IPCLW:[0.123777481]{-}[WAIT]:UTIL: [1712928004190595]    [34] mbuf 0x7fcfc473dfb0 MSN 69902071 Seq 325234247 -> 325234248 # XMits: 0
IPCLW:[0.123777482]{-}[WAIT]:UTIL: [1712928004190595]    [35] mbuf 0x7fcfc473db90 MSN 69902072 Seq 325234248 -> 325234249 # XMits: 0
IPCLW:[0.123777483]{-}[WAIT]:UTIL: [1712928004190595]    [36] mbuf 0x7fcfc473d770 MSN 69902073 Seq 325234249 -> 325234250 # XMits: 0
IPCLW:[0.123777484]{-}[WAIT]:UTIL: [1712928004190595]    [37] mbuf 0x7fcfc473d350 MSN 69902074 Seq 325234250 -> 325234251 # XMits: 0
IPCLW:[0.123777485]{-}[WAIT]:UTIL: [1712928004190595]    [38] mbuf 0x7fcfc473cf30 MSN 69902075 Seq 325234251 -> 325234252 # XMits: 0
IPCLW:[0.123777486]{-}[WAIT]:UTIL: [1712928004190595]    [39] mbuf 0x7fcfc473cb10 MSN 69902076 Seq 325234252 -> 325234253 # XMits: 0
IPCLW:[0.123777487]{-}[WAIT]:UTIL: [1712928004190595]    [40] mbuf 0x7fcfc473c6f0 MSN 69902077 Seq 325234253 -> 325234254 # XMits: 0
IPCLW:[0.123777488]{-}[WAIT]:UTIL: [1712928004190595]    [41] mbuf 0x7fcfc473c2d0 MSN 69902078 Seq 325234254 -> 325234255 # XMits: 0
IPCLW:[0.123777489]{-}[WAIT]:UTIL: [1712928004190595]    [42] mbuf 0x7fcfc473beb0 MSN 69902079 Seq 325234255 -> 325234256 # XMits: 0
IPCLW:[0.123777490]{-}[WAIT]:UTIL: [1712928004190595]    [43] mbuf 0x7fcfc473ba90 MSN 69902080 Seq 325234256 -> 325234257 # XMits: 0
IPCLW:[0.123777491]{-}[WAIT]:UTIL: [1712928004190595]    [44] mbuf 0x7fcfc473b670 MSN 69902081 Seq 325234257 -> 325234258 # XMits: 0
IPCLW:[0.123777492]{-}[WAIT]:UTIL: [1712928004190595]    [45] mbuf 0x7fcfc473b250 MSN 69902082 Seq 325234258 -> 325234259 # XMits: 0
IPCLW:[0.123777493]{-}[WAIT]:UTIL: [1712928004190595]    [46] mbuf 0x7fcfc473ae30 MSN 69902083 Seq 325234259 -> 325234260 # XMits: 0
IPCLW:[0.123777494]{-}[WAIT]:UTIL: [1712928004190595]    [47] mbuf 0x7fcfc473aa10 MSN 69902084 Seq 325234260 -> 325234261 # XMits: 0
IPCLW:[0.123777495]{-}[WAIT]:UTIL: [1712928004190595]    [48] mbuf 0x7fcfc473a5f0 MSN 69902085 Seq 325234261 -> 325234262 # XMits: 0
IPCLW:[0.123777496]{-}[WAIT]:UTIL: [1712928004190595]    [49] mbuf 0x7fcfc473a1d0 MSN 69902086 Seq 325234262 -> 325234263 # XMits: 0
IPCLW:[0.123777497]{-}[WAIT]:UTIL: [1712928004190595]    [50] mbuf 0x7fcfc4739db0 MSN 69902087 Seq 325234263 -> 325234264 # XMits: 0
IPCLW:[0.123777498]{-}[WAIT]:UTIL: [1712928004190595]    [51] mbuf 0x7fcfc4739990 MSN 69902088 Seq 325234264 -> 325234265 # XMits: 0
IPCLW:[0.123777499]{-}[WAIT]:UTIL: [1712928004190595]    [52] mbuf 0x7fcfc4739570 MSN 69902089 Seq 325234265 -> 325234266 # XMits: 0
IPCLW:[0.123777500]{-}[WAIT]:UTIL: [1712928004190595]    [53] mbuf 0x7fcfc4739150 MSN 69902090 Seq 325234266 -> 325234267 # XMits: 0
IPCLW:[0.123777501]{-}[WAIT]:UTIL: [1712928004190595]    [54] mbuf 0x7fcfc4738d30 MSN 69902091 Seq 325234267 -> 325234268 # XMits: 0
IPCLW:[0.123777502]{-}[WAIT]:UTIL: [1712928004190595]    [55] mbuf 0x7fcfc4738910 MSN 69902092 Seq 325234268 -> 325234269 # XMits: 0
 

3、MOS文档中关于此问题描述

Oracle Database - Enterprise Edition - Version 19.8.0.0.0 and later
Database ora_dia0_* process consumes High Memory utilization
<Instance>_dia0_21668_base_5.trc
==============================
*** 2021-06-07T23:02:45.794273-07:00 (CDB$ROOT(1))
2021-06-07 23:02:45.794 :kjzgrcfg_finalize(): Reconfig finished inc:31 state:5
2021-06-07 23:02:45.800 :kjzgrcfg_msghdlr(): Step 1 remote_inc:31 prop_inc:31 state:5 master:2
IPCLW:[0.124755339]{E}[WAIT]:PROTO: [1623132166001387]RETRANS DBG local acnh 0x7fe9aa139530 dump:
IPCLW:[0.124755340]{-}[WAIT]:UTIL: [1623132166001387] ACNH 0x7fe9aa139530 State: 1 SMSN:
1655824697 PKT(1662191011.496113055) # Pending: 4096 >>>>>>>>>>>>>>>>>>>>>>>
IPCLW:[0.124755341]{-}[WAIT]:UTIL: [1623132166001387] Peer: DIA0.KSXP_diag.30620 AckSeq: 496108959
IPCLW:[0.124755342]{-}[WAIT]:UTIL: [1623132166001387] Flags: 0x20000000 IHint: 0x1d07ad590000001f
THint: 0x52fe03630000001f
IPCLW:[0.124755343]{-}[WAIT]:UTIL: [1623132166001387] Local Address: 192.xxx.xx.120:39061 Remote
Address: 192.xxx.12.xxx:35575 >>>>>>>>>>>>>>>>>>>>>>>>>
IPCLW:[0.124755344]{-}[WAIT]:UTIL: [1623132166001387] Remote PID: ver 0 flags 1 trans 2 tos 0 opts 0
xdata3 8227 xdata2 b8300501
IPCLW:[0.124755345]{-}[WAIT]:UTIL: [1623132166001387] : mmsz 32768 mmr 4096 mms 4096 xdata
b883f95f
IPCLW:[0.124755346]{-}[WAIT]:UTIL: [1623132166001387] IVPort: 55103 TVPort: 63839 IMPT: 52824
RMPT: 33319 Pending Sends: Yes Unacked Sends: Yes >>>>>>>>>>>>>>>>>>>>
IPCLW:[0.124755347]{-}[WAIT]:UTIL: [1623132166001387] Send Engine Queued: Yes sshdl -1 ssts 0 rtts
1623132166002134 snderrchk 5 creqcnt 1 credits 0/8
IPCLW:[0.124755348]{-}[WAIT]:UTIL: [1623132166001387] Unackd Messages 1662186915 ->
1662191010. SSEQ 496108959 Send Time: INVALID TIME SMSN # Xmits: 4227520 EMSN INVALID TIME
>>>>>>>>>
IPCLW:[0.124755349]{-}[WAIT]:UTIL: [1623132166001387
MOS文档中的案例信息与TRACE是匹配的,官方文档对此解释是心跳网络异常,需要检查处理网络问题:
CAUSE
Packet Reassembly Failure at Interconnect
SOLUTION
Involve System Admin for fixing the packet reassembly failure/Packet drop at interconnect.
4、检查网络状态,有少量报错,符合文档上说的现象。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/605452.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

uniapp怎么使用jsx

安装vitejs/plugin-vue-jsx npm install vitejs/plugin-vue-jsx -Dvite.config.js配置 import { defineConfig } from "vite"; import uni from "dcloudio/vite-plugin-uni"; import vueJsx from vitejs/plugin-vue-jsxexport default defineConfig({plu…

初始Java篇(JavaSE基础语法)(7)抽象类和接口(下)

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a;JavaSE 接上文&#xff1a;初始Java篇&#xff08;JavaSE基础语法&#xff09;&#xff08;7&#xff09;抽象类和接口&#xff08;上&#xf…

Netty HTTP2 示例-响应式编程-013

🤗 ApiHug {Postman|Swagger|Api...} = 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱,有温度,有质量,有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace The Next Generation API Development Platform …

上海亚商投顾:沪指缩量调整 合成生物概念股持续爆发

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 沪指昨日缩量震荡调整&#xff0c;深成指、创业板指均跌超1%。细胞免疫治疗概念股大涨&#xff0c;冠昊生物、…

运营一个在线课堂有哪些基础费用?

我是酷瓜云课堂的作者&#xff0c;对这个问题还是很有心得的。我们的系统是基于腾讯云服务的&#xff0c;下面简单罗列一些基础费用&#xff0c;价格和腾讯云官方有些许出入&#xff0c;仅供参考。 &#xff08;1&#xff09;域名 域名注册通常 60 - 80元 / 年&#xff0c;续…

【JavaEE网络】HTTP响应详解:状态码、报头与正文的全面解析

目录 HTTP响应&#xff08;Response&#xff09;认识 "状态码" (status code)认识响应 “报头”&#xff08;header&#xff09;认识响应 “正文”&#xff08;body&#xff09; HTTP响应&#xff08;Response&#xff09; 响应&#xff1a; 首行响应头空行正文 认…

AI大模型探索之路-训练篇18:大语言模型预训练-微调技术之Prompt Tuning

系列篇章&#x1f4a5; AI大模型探索之路-训练篇1&#xff1a;大语言模型微调基础认知 AI大模型探索之路-训练篇2&#xff1a;大语言模型预训练基础认知 AI大模型探索之路-训练篇3&#xff1a;大语言模型全景解读 AI大模型探索之路-训练篇4&#xff1a;大语言模型训练数据集概…

信息系统项目管理师0095:项目管理知识领域(6项目管理概论—6.4价值驱动的项目管理知识体系—6.4.4项目管理知识领域)

点击查看专栏目录 文章目录 6.4.4项目管理知识领域6.4.4项目管理知识领域 除了过程组,过程还可以按知识领域进行分类。知识领域指按所需知识内容来定义的项目管理领域,并用其所含过程、实践、输入、输出、工具和技术进行描述。 虽然知识领域相互联系,但从项目管理的角度来看…

使用unplugin-icons报错:Icon `eos-icons/ai` not found

代码&#xff1a; import IconNanobert from ~icons/eos-icons/ai 报错&#xff1a; Icon eos-icons/ai not found解决办法&#xff1a; npm i -D iconify-json/eos-icons &#xff08;把eos-icons替换成报错的那个collection-id即可&#xff0c;collection-id名称见图2&…

JVM堆内存分析

jmap工具查看堆内存 jmap:全称JVM Memory Map 是一个可以输出所有内存中对象的工具&#xff0c;可以将JVM中的heap&#xff08;堆&#xff09;&#xff0c;以二进制输出成文本&#xff0c;打印出Java进程对应的内存 找到pid jmap -heap 19792 Attaching to process ID 19792…

鸿蒙DevEco Studio 4.1 Release-模拟器启动方式错误

软件版本&#xff1a;DevEco Studio 4.1 Release 报错提示&#xff1a; 没有权限查看处理指导 Size on Disk 显示1.0MB 尝试方案&#xff08;统统无效&#xff09;&#xff1a; 1、“windows虚拟机监控程序平台”、"虚拟机平台"已开启 启用CPU虚拟化 2、C…

如何使用过滤器和监听器

Filter&#xff1a;过滤器 Listener:监听器 Filter&#xff1a;过滤器 1. 概念&#xff1a;* 生活中的过滤器&#xff1a;净水器,空气净化器&#xff0c;土匪、* web中的过滤器&#xff1a;当访问服务器的资源时&#xff0c;过滤器可以将请求拦截下来&#xff0c;完成一些特…

蓝桥杯【第15届省赛】Python B组 32.60 分

F 题列表越界访问了……省一但没什么好名次 测评链接&#xff1a;https://www.dotcpp.com/oj/train/1120/ C 语言网真是 ** 测评&#xff0c;时间限制和考试的不一样&#xff0c;E 题给我整时间超限&#xff1f; A&#xff1a;穿越时空之门 100&#x1f3c6; 【问题描述】 随…

简要介绍三大脚本语言 Shell、Python 和 Lua

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 脚本语言是一种用于自动化操作系统任务和应用程序功能的编程语言。它们通常用于编写小到中等规模的程序&#xff0c;以提高任务执行的速度和效率。在众多脚本语言中&#xff0c;Shell、Python 和 Lua 是…

Python | Leetcode Python题解之第77题组合

题目&#xff1a; 题解&#xff1a; class Solution:def combine(self, n: int, k: int) -> List[List[int]]:ans []path []def dfs(x):remain k - len(path)if not remain:ans.append(list(path))returnif n 1 - x > remain:dfs(x 1)path.append(x)dfs(x 1)path.…

工业级路由器的穿透力是不是更强(原创科普)

今天我想和大家聊聊工业级路由器的一个重要特性——穿透力。作为一名从事工业网络通信的工程师,我发现很多用户在选择工业级路由器时,都会问到一个问题:"工业级路由器的穿透力是不是更强?"下面就让我来为大家解答这个疑问。当然如果有通信产品需要也可以关注星创易联…

09 - 数据清洗案例

流程图 kettle 面板图片 操作步骤 1、订阅数据源&#xff08;kafka consumer&#xff09; 2、抽取字段并转换key&#xff08;JSON input&#xff09; 3、判断img字段是否有值&#xff0c;有的话进行url转base64&#xff08;JavaScript 代码&#xff09; // 获取输入字段的值 v…

中金:如何把握不断轮动的资产“风口”

从比特币到日股&#xff0c;到黄金与铜再到当前的港股&#xff0c;每次超预期大涨后都透支回调。 今年以来资产的“风口”不断轮动&#xff0c;从比特币到日股&#xff0c;到黄金与铜&#xff0c;再到当前的港股&#xff0c;资产仿佛“接力”般交替领先&#xff0c;同时“风口”…

JavaScript 垃圾回收机制深度解析:内存管理的艺术

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 &#x1f3ad; 引言一、JavaScript内存模型与生命周期的深度解析&#x1f4cc; 基本数据类型与栈内存的精妙运作&#x1f4cc; 复杂数据类型与堆内存的广袤世界&#x1f4cc; 生命周期管理的智慧与实践策略&#x1f4cc; We…

uniapp开发小程序使用vue的v-html解析富文本图片过大过宽显示超过屏幕解决办法

如果没有设置的话&#xff0c;就会导致图片溢出&#xff0c;过宽显示或者错位显示&#xff0c;显示效果非常的丑陋&#xff1a; 修改后显示的效果&#xff1a; 网上比较low的解决办法&#xff1a;网上各种解决方法核心思想就是在数据层把数据模板上的img数据加上style样式&…