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

【银河麒麟高级服务器操作系统】在VMware虚拟机情况下出现软锁处理过程

系统环境及配置

系统环境

物理机/虚拟机/云/容器

VMware虚拟机,宿主机型号是YK SR750

网络环境

外网/私有网络/无网络

私有网络

硬件环境

机型

VMware Virtual Platform

处理器

Intel(R) Xeon(R) Gold 6348 CPU @ 2.60GHz

内存

64GB

整机类型/架构

x86

固件版本

Phoenix Technologies LTD

软件环境

具体操作系统版本

银河麒麟高级服务器操作系统V10

Kylin Linux Advanced Server release V10 (Tercel)

内核版本

4.19.90-23.49.v2101.ky10.x86_64

现象描述

银河麒麟高级服务器操作系统V10SP1 0518版本在VMware虚拟机情况下出现软锁。收到反馈,主机发生软锁。

分析过程

分析vmcore

分析vmcore-dmesg

内核检测到软锁死,系统无法继续同步操作,因此触发了内核恐慌。交换进程(swapper/0)在CPU0上,在规定的时间内没有响应,导致系统出现软锁。根据软锁堆栈中的RIP寄存器,RIP: 0010:__do_softirq+0x77/0x2e9,可见当时正在处理软中断。

[6367835.162265] Kernel panic - not syncing: softlockup: hung tasks
[6367835.162266] CPU: 0 PID: 0 Comm: swapper/0 Kdump: loaded Tainted: G             L    4.19.90-23.49.v2101.ky10.x86_64 #1
[6367835.162267] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 11/12/2020
[6367835.162267] Call Trace:
[6367835.162268]  <IRQ>
[6367835.162272]  dump_stack+0x66/0x8b
[6367835.162275]  panic+0xe4/0x296
[6367835.162278]  watchdog_timer_fn+0x25b/0x270
[6367835.162279]  ? softlockup_fn+0x40/0x40
[6367835.162281]  __hrtimer_run_queues+0x108/0x290
[6367835.162282]  hrtimer_interrupt+0xe5/0x240
[6367835.162284]  ? sched_clock+0x5/0x10
[6367835.162286]  smp_apic_timer_interrupt+0x6a/0x130
[6367835.162287]  apic_timer_interrupt+0xf/0x20
[6367835.162289] RIP: 0010:__do_softirq+0x77/0x2e9
[6367835.162290] Code: 05 ba 63 c1 5d 00 01 00 00 c7 44 24 20 0a 00 00 00 44 89 74 24 04 48 c7 c0 00 9f 02 00 65 66 c7 00 00 00 fb 66 0f 1f 44 00 00 <b8> ff ff ff ff 0f bc 44 24 04 83 c0 01 89 44 24 10 0f 84 9c 00 00
[6367835.162291] RSP: 0018:ffff89ae9d003f88 EFLAGS: 00000206 ORIG_RAX: ffffffffffffff13
[6367835.162292] RAX: 0000000000029f00 RBX: 0000000000000000 RCX: 0000000000000020
[6367835.162292] RDX: 00000000000000af RSI: ffff89ae90cdd6d0 RDI: 0000000000000000
[6367835.162292] RBP: 0000000000000000 R08: ffff89ae9d0286a0 R09: 0000000000000000
[6367835.162293] R10: ffff89ae9d003f48 R11: 0000000000000000 R12: 0000000000000000
[6367835.162293] R13: 0000000000000000 R14: 0000000000000010 R15: 0000000000000000
[6367835.162294]  ? apic_timer_interrupt+0xa/0x20
[6367835.162296]  ? __do_softirq+0x4b/0x2e9
[6367835.162297]  ? sched_clock+0x5/0x10
[6367835.162298]  irq_exit+0xfe/0x110
[6367835.162299]  call_function_single_interrupt+0xf/0x20
[6367835.162299]  </IRQ>
[6367835.162300] RIP: 0010:native_safe_halt+0xe/0x10

分析vmcore

分析vmcore,,系统的负载平均值极高(76.15, 50.69, 39.92),表明系统在过去的1分钟、5分钟和15分钟内承受了非常高的负载。这种高负载可能导致CPU资源被大量占用,影响关键任务和中断处理的响应时间。

secondary_startup_64 用于初始化和启动辅助处理器
 native_safe_halt 表明在进入空闲状态前,系统检测到某种异常情况
  call_function_single_interrupt 用于执行跨CPU通信或同步操作
   irq_exit 结束中断处理,恢复中断前的CPU状态
    __softirqentry_text_start 软中断入口点,用于处理软中断任务,如网络数据包处理、定时器任务等

查看CPU0上的硬件中断情况,在该CPU并没有硬中断,所以没有出现中断风暴。

分析vmcore

从日志中可以看到,这是一次软锁的问题,kswapd0在CPU#8 上,内核态运行时消耗了过多的 CPU 时间,未能及时释放CPU导致其他任务无法运行。这种现象由内核 bug 或资源竞争引起。kswapd0内核线程负责将页面从内存交换到磁盘,通常与内存不足或内存管理的性能问题相关。

查看RIP寄存器的值为 smp_call_function_many+0x224/0x250,smp_call_function_many()函数作用是在多个CPU上并行运行一个指定的函数。可见CPUX发起了IPI,需要其它CPU响应IPI中断,但是其它CPU处于阻塞状态屏蔽了中断,导致一直无法响应,最后触发软锁。

从vmcore-dmesg中查不到无法响应IPI中断的CPU是哪个,vmcore是vmcore-incomplete,无法进一步分析。

[8824094.110781] watchdog: BUG: soft lockup - CPU#8 stuck for 23s! [kswapd0:118]
...
[8824094.115075] CPU: 8 PID: 118 Comm: kswapd0 Kdump: loaded Not tainted 4.19.90-23.49.v2101.ky10.x86_64 #1
[8824094.115743] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 11/12/2020
[8824094.116477] RIP: 0010:smp_call_function_many+0x224/0x250
[8824094.116847] Code: c7 e8 a0 eb 74 00 3b 05 2e 5a 51 01 0f 83 5f fe ff ff 48 63 c8 48 8b 13 48 03 14 cd 40 a7 d5 83 8b 4a 18 83 e1 01 74 0a f3 90 <8b> 4a 18 83 e1 01 75 f6 eb c7 48 c7 c2 e0 9d 06 84 48 89 ee 89 c7
[8824094.117954] RSP: 0018:ffffba1746be3af0 EFLAGS: 00000202 ORIG_RAX: ffffffffffffff13
[8824094.118324] RAX: 0000000000000009 RBX: ffff98d45d22ba00 RCX: 0000000000000001
[8824094.118713] RDX: ffff98d45d2713c0 RSI: 0000000000000000 RDI: ffff98c5810f2d00
[8824094.119092] RBP: 0000000000000080 R08: 000000000002f060 R09: ffffffff82a5040a
[8824094.119482] R10: ffffe4f0e828d600 R11: 0000000000000000 R12: 0000000000000001
[8824094.119482] R10: ffffe4f0e828d600 R11: 0000000000000000 R12: 0000000000000001
[8824094.119922] R13: 000000000002b9c0 R14: ffffffff82a73980 R15: ffffba1746be3b30
[8824094.120311] FS:  0000000000000000(0000) GS:ffff98d45d200000(0000) knlGS:0000000000000000
[8824094.120739] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[8824094.121121] CR2: 0000000005d0b6a4 CR3: 000000075f40a005 CR4: 00000000007606e0
[8824094.121534] PKRU: 55555554
[8824094.121921] Call Trace:
[8824094.122308]  arch_tlbbatch_flush+0x6f/0xd0
[8824094.122715]  try_to_unmap_flush+0x26/0x40
[8824094.123090]  shrink_page_list+0x43c/0xd60
[8824094.123465]  shrink_inactive_list+0x2c1/0x760
[8824094.123837]  shrink_node_memcg+0x365/0x770
[8824094.124203]  ? shrink_slab+0x54/0x2b0
[8824094.124575]  ? shrink_slab+0x54/0x2b0
[8824094.124927]  ? shrink_node+0xcf/0x410
[8824094.125263]  shrink_node+0xcf/0x410
[8824094.125601]  kswapd+0x2b1/0x6e0
[8824094.125925]  ? mem_cgroup_shrink_node+0x170/0x170
[8824094.126237]  kthread+0x113/0x130
[8824094.126554]  ? kthread_create_worker_on_cpu+0x70/0x70
[8824094.126852]  ret_from_fork+0x1f/0x40
[8824094.127141] Sending NMI from CPU 8 to CPUs 0-7,9-15:
[8824104.064527] Kernel panic - not syncing: softlockup: hung tasks

分析结论

1、分析时间1的vmcore日志,在__do_softirq函数发生软锁,表明有一个软中断未能在限定时间内完成,通常是因为软中断队列处理耗时太久。

2、分析时间2的vmcore-dmesg日志,kswapd0在CPU8上尝试回收页面,页面回收涉及过多的TLB刷新操作,可能当时系统环境内存存在压力,页面回收过程中需要同步更新TLB,导致smp_call_function_many被频繁调用,而某些CPU又存在超售,最后导致软锁。

综合分析,导致此软锁问题的原因如下:

1)系统资源过载,极高的系统负载导致关键内核任务无法及时调度和执行,触发软锁死。当时的sa日志已不在,无法进一步分析。

2)宿主机CPU资源不足,宿主机CPU超售,导致虚拟机软锁。

3)虚拟化平台的影响,某些虚拟化硬件存在问题。

解决方案

__do_softirq是系统基础函数,本身并没有什么问题。

1、建议宿主机分析问题发生时的CPU使用情况,是否存在CPU超售。

2、建议VMware厂商分析,是否存在类似的已知问题。

相关文章:

【银河麒麟高级服务器操作系统】在VMware虚拟机情况下出现软锁处理过程

系统环境及配置 系统环境 物理机/虚拟机/云/容器 VMware虚拟机&#xff0c;宿主机型号是YK SR750 网络环境 外网/私有网络/无网络 私有网络 硬件环境 机型 VMware Virtual Platform 处理器 Intel(R) Xeon(R) Gold 6348 CPU 2.60GHz 内存 64GB 整机类型/架构 x86…...

Ubuntu 22.04.4操作系统初始化详细配置

上一章节&#xff0c;主要讲解了Ubuntu 22.04.4操作系统的安装&#xff0c;但是在实际生产环境中&#xff0c;需要对Ubuntu操作系统初始化&#xff0c;从而提高系统的性能和稳定性。 一、查看Ubuntu系统版本和内核版本 # 查看系统版本 testubuntu:~$ sudo lsb_release -a Rel…...

[ACTF2020 新生赛]Upload

先写一个万能的一句话木马 使用一句话木马 发现这个是有内容过滤的 过滤了 <? 发现这个过滤的很死那就只能使用 不带 ? 的短标签了 使用script 标签 这个的使用只限于对方的php是5版本的 正好是低版本的 所以直接上传 改一下后缀为 phtml 成功上传 但是我们没有…...

Harbor2.0仓库镜像清理策略

背景 在持续集成和持续部署的流程中&#xff0c;频繁的构建和部署会生成大量的镜像版本。这些历史镜像如果不及时清理&#xff0c;会占用大量的存储空间&#xff0c;导致 Harbor 仓库膨胀&#xff0c;影响系统性能。 目前 公司的Harbor存储已经占用1T&#xff0c;好多的repo的…...

从零开始了解数据采集(二十一)——电子制造行业趋势分析案例

这次分享一个偏行业性的趋势分析案例&#xff0c;在项目中为企业实实在在的提高了良品率。不懂什么是趋势分析的同学&#xff0c;可以翻看前面的文章。 在广东某电子制造厂中&#xff0c;管理层发现最近几个月生产良品率有所波动&#xff0c;但无法明确波动原因&#xff0c;也…...

从零开始开发一个简易的五子棋游戏:使用 HTML、CSS 和 JavaScript 实现双人对战

介绍 五子棋&#xff0c;作为一种经典的棋类游戏&#xff0c;不仅考验玩家的策略与判断力&#xff0c;还能在繁忙的生活中带来一丝轻松。今天&#xff0c;我们将用 HTML、CSS 和 JavaScript 来开发一个简易的五子棋游戏&#xff0c;玩家可以在浏览器中与朋友展开一场刺激的对决…...

用Node.js施展文档比对魔法:轻松实现Word文档差异比较小工具,实现Word差异高亮标注(附完整实战代码)

引言&#xff1a;当「找不同」遇上程序员的智慧 你是否经历过这样的场景&#xff1f; 法务同事发来合同第8版修改版&#xff0c;却说不清改了哪里 导师在论文修改稿里标注了十几处调整&#xff0c;需要逐一核对 团队协作文档频繁更新&#xff0c;版本差异让人眼花缭乱 传统…...

计算机基本理论与 ARM 相关概念深度解析

一、计算机基本理论 1. 计算机的组成 计算机硬件系统由五大部件构成&#xff1a; 运算器&#xff1a;负责算术运算&#xff08;如加减乘除&#xff09;与逻辑运算&#xff08;如与、或、非&#xff09;&#xff0c;是数据处理的核心单元。控制器&#xff1a;从存储器中逐条提…...

adb常用的20个命令

ADB&#xff08;Android Debug Bridge&#xff09;是Android开发工具中的一个命令行工具&#xff0c;常用于与Android设备进行交互、调试和测试。以下是ADB常用的20个命令&#xff1a; ‌adb devices‌&#xff1a;列出所有已连接的设备及其状态。‌adb connect <device_ip…...

C++如何使用调试器(如GDB、LLDB)进行程序调试保姆级教程(2万字长文)

C作为一门高性能、接近底层的编程语言&#xff0c;其复杂性和灵活性为开发者提供了强大的能力&#xff0c;同时也带来了更高的调试难度。与一些高级语言不同&#xff0c;C程序往往直接操作内存&#xff0c;涉及指针、引用、多线程等特性&#xff0c;这些都可能成为错误的温床。…...

【计算机哲学故事1-2】输入输出(I/O):你吸收什么,便成为什么

“我最近&#xff0c;是不是废了……”她瘫在沙发上&#xff0c;手机扣在胸口&#xff0c;盯着天花板自言自语。 我坐在一旁&#xff0c;随手翻着桌上的杂志&#xff0c;没接话&#xff0c;等着她把情绪发泄完。 果然&#xff0c;几秒后&#xff0c;她重重地叹了口气&#xf…...

驱动开发硬核特训 · Day 22(上篇): 电源管理体系完整梳理:I2C、Regulator、PMIC与Power-Domain框架

&#x1f4d8; 一、电源子系统总览 在现代Linux内核中&#xff0c;电源管理不仅是系统稳定性的保障&#xff0c;也是实现高效能与低功耗运行的核心机制。 系统中涉及电源管理的关键子系统包括&#xff1a; I2C子系统&#xff1a;硬件通信基础Regulator子系统&#xff1a;电源…...

Linux一个系统程序——进度条

一、回车与换行 \n :回车加换行 \r:换行 观察我们发现以上的两个代码除了缺少/n没有任何区别&#xff0c;但是运行代码之后我们会发现有何大的不同&#xff0c;图一会先在屏幕上打印helloworld在进行休眠2&#xff0c;但是图二会先休眠2在打印helloworld&#xff0c;原因是pr…...

从零到精通:深入剖析GoFrame的gcache模块及其在项目中的实战应用

一、引言 在后端开发的世界里&#xff0c;Go语言凭借其简洁的语法、高效的并发模型和强大的标准库&#xff0c;已成为许多开发者的首选。从Web服务到分布式系统&#xff0c;Go的身影无处不在&#xff0c;而其生态也在不断壮大。作为Go生态中的一颗新星&#xff0c;GoFrame&…...

【Linux系统】静态库与动态库

库制作与原理 1. 什么是库 库是写好的现有的&#xff0c;成熟的&#xff0c;可以复用的代码。现实中每个程序都要依赖很多基础的底层库&#xff0c;不可能每个人的代码都从零开始&#xff0c;因此库的存在意义非同寻常。 本质上来说库是一种可执行代码的二进制形式&#xff…...

从零实现分布式WebSocket组件:设计模式深度实践指南

一、为什么需要WebSocket组件&#xff1f; 实时通信需求 传统HTTP轮询效率低&#xff0c;WebSocket提供全双工通信适用于即时聊天、实时数据监控、协同编辑等场景 分布式系统挑战 多节点部署时需解决会话同步问题跨节点消息广播需借助中间件&#xff08;Redis/RocketMQ等&…...

使用 OpenCV 和 dlib 进行人脸检测

文章目录 1. 什么是 dlib2. 前期准备介绍2.1 环境准备2.2 dlib 的人脸检测器 3. 代码实现3.1 导入库3.2 加载检测器3.3 读取并调整图像大小3.4 检测人脸3.5 绘制检测框3.6 显示结果 4. 完整代码5. 优化与改进5.1 提高检测率5.2 处理 BGR 与 RGB 问题 6. 总结 人脸检测是计算机视…...

03.使用spring-ai玩转MCP

接着上篇&#xff1a;https://blog.csdn.net/sinat_15906013/article/details/147052013&#xff0c;我们介绍了&#xff0c;什么是MCP&#xff1f;使用cline插件/cherry-studio安装了Mcp Server&#xff0c;本篇我们要借助spring-ai实现MCP Client和Server。 使用spring-ai的…...

LeetCode12_整数转罗马数字

LeetCode12_整数转罗马数字 标签&#xff1a;#哈希表 #数字 #字符串Ⅰ. 题目Ⅱ. 示例 0. 个人方法&#xff1a;模拟官方题解二&#xff1a;硬编码数字 标签&#xff1a;#哈希表 #数字 #字符串 Ⅰ. 题目 七个不同的符号代表罗马数字&#xff0c;其值如下&#xff1a; 符号值I…...

展销编辑器操作难度及优势分析​

也许有人会担心&#xff0c;如此强大的展销编辑器&#xff0c;操作起来是否会很复杂?答案是否定的。展销编辑器秉持着 “简单易用” 的设计理念&#xff0c;致力于让每一位用户都能轻松上手&#xff0c;即使是没有任何技术背景的小白&#xff0c;也能在短时间内熟练掌握。​ 编…...

展销编辑器在未来的发展前景​

展销编辑器在展销行业的发展前景极为广阔&#xff0c;有望引领行业迈向更加智能化、个性化、沉浸式的新时代&#xff0c;对行业变革产生深远影响。​ 随着人工智能、虚拟现实、增强现实等技术的不断发展和融合&#xff0c;展销编辑器将实现更加智能化的功能。例如&#xff0c;借…...

央视两次采访报道爱藏评级,聚焦生肖钞市场升温,评级币成交易安全“定心丸”

CCTV央视财经频道《经济信息联播》《第一时间》两档节目分别对生肖贺岁钞进行了5分钟20秒的专题报道。长期以来&#xff0c;我国一直保持着发行生肖纪念钞和纪念币的传统&#xff0c;生肖纪念钞和纪念币在收藏市场保持着较高的热度。特别是2024年初&#xff0c;央行发行了首张贺…...

登高架设作业指的是什么?有什么安全操作规程?

登高架设作业是指在高处从事脚手架、跨越架架设或拆除的作业。具体包括以下方面&#xff1a; 脚手架作业 搭建各类脚手架&#xff0c;如落地式脚手架、悬挑式脚手架、附着式升降脚手架等&#xff0c;为建筑施工、设备安装、高处维修等作业提供安全稳定的工作平台。对脚手架进行…...

Kaamel白皮书:IoT设备安全隐私评估实践

1. IoT安全与隐私领域的现状与挑战 随着物联网技术的快速发展&#xff0c;IoT设备在全球范围内呈现爆发式增长。然而&#xff0c;IoT设备带来便捷的同时&#xff0c;也引发了严峻的安全与隐私问题。根据NSF&#xff08;美国国家科学基金会&#xff09;的研究表明&#xff0c;I…...

uniapp跨平台开发---动态控制底部切换显示

业务需求 不同用户或者应用场景,底部tab展示不同的内容,针对活动用户额外增加底部tab选项 活动用户 非活动用户 实现思路 首先在tabbar list中增加中间活动tab的路径代码,设置visible:false,然后再根据条件信息控制活动tab是否展示 pages.json {"pagePath": "…...

django admin 去掉新增 删除

在Django Admin中&#xff0c;你可以通过自定义Admin类来自定义哪些按钮显示&#xff0c;哪些不显示。如果你想隐藏“新增”和“删除”按钮&#xff0c;可以通过重写change_list_template或使用ModelAdmin的has_add_permission和has_delete_permission属性来实现。 方法1&…...

final static 中是什么final static联合使用呢

final static 联合使用详解 final 和 static 在 Java 中经常一起使用&#xff0c;主要用来定义类级别的常量。这种组合具有两者的特性&#xff1a; 基本用法 public class Constants {// 典型的 final static 常量定义public static final double PI 3.141592653589793;pub…...

【项目管理】知识点复习

项目管理-相关文档,希望互相学习,共同进步 风123456789~-CSDN博客 (一)知识总览 项目管理知识域 知识点: (项目管理概论、立项管理、十大知识域、配置与变更管理、绩效域) 对应:第6章-第19章 第6章 项目管理概论 4分第13章 项目资源管理 3-4分第7章 项目…...

cocos creator使用jenkins打包流程,打包webmobile

windows电脑使用 如果你的电脑作为打包机&#xff0c;一定要锁定自己的ip,如果ip动态获取&#xff0c;可能后续会导致jenkins无法访问,还需要重新配置jenkins和http-server的端口 从jenkins官网下载windows版 Thank you for downloading Windows Stable installer 1.jenkins安…...

颠覆传统微商!开源AI智能名片链动2+1模式S2B2C商城小程序:重构社交电商的“降维打击”革命

摘要&#xff1a;传统微商模式长期依赖暴力刷屏、多层分销与价格战&#xff0c;导致用户信任崩塌、行业合规风险激增&#xff0c;近三年行业淘汰率高达67%。本文创新性提出“开源AI智能名片链动21模式S2B2C商城小程序”技术-商业融合架构&#xff0c;通过AI驱动的智能内容引擎、…...

pycharm无法创建venv虚拟环境

pycharm 2022.2.2在创建新project时&#xff0c;选择Virtualenv environment时&#xff0c;提示“无法创建虚拟环境”。 1.查看 PyCharm 日志 日志文件&#xff08;路径示例&#xff1a;C:\Users\<用户名>\AppData\Local\JetBrains\PyCharm2022.1\log\idea.log&#xff…...

nextjs整合快速整合市面上各种AI进行prompt连调测试

nextjs整合快速整合市面上各种AI进行prompt连调测试。这样写法只是我用来做测试。快速对比各种AI大模理效果. 这里参数通过APIPOST进来 import { OpenAIService } from ./openai.service; import { Controller, Post, Body, Param } from nestjs/common; import { jsonrepair …...

Greenbone(绿骨)开源GVM容器docker部署和汉化介绍

文章目录 Greenbone&#xff08;绿骨&#xff09;开源GVM容器docker部署和汉化介绍前言用容器部署GVM第一步&#xff1a;安装依赖项第二步&#xff1a;安装 Docker第三步&#xff1a;使用 docker-compose编排文件&#xff0c;完成GVM服务部署第四步&#xff1a;启动Greenbone社…...

PDF嵌入隐藏的文字

所需依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itext-core</artifactId><version>9.0.0</version><type>pom</type> </dependency>源码 /*** PDF工具*/ public class PdfUtils {/*** 在 PD…...

为什么从Word复制到PPT的格式总是乱掉?

从Word复制到PPT的格式总是乱掉&#xff0c;主要有以下原因&#xff1a; 格式兼容性问题 - 软件版本差异&#xff1a;不同版本的Office或WPS软件&#xff0c;对文档格式的支持和处理方式有所不同。如Office 2021中的新功能“动态网格对齐”&#xff0c;在粘贴到Office 2016的…...

五分钟讲清数据需求怎么梳理!

目录 一、为什么要进行数据需求梳理&#xff1f; 1.确保企业收集到真正有价值的数据 2.有助于提高数据分析的效率和质量 3.促进企业内部各部门之间的沟通与协作 二、数据需求怎么梳理&#xff1f; 1. 与业务部门深度沟通 2. 进行业务流程分析 3. 参考行业最佳实践 4. …...

03_多线程任务失败解决方案

文章目录 问题&#xff1a;多线程并发处理时,其中一个任务失败怎么办&#xff1f;1. 异常捕获2. 线程同步3. 资源清理4. 错误恢复5. 通知其他线程6. 使用并发框架 问题&#xff1a;多线程并发处理时,其中一个任务失败怎么办&#xff1f; 这是一个典型的并发编程问题&#xff0…...

MyBatis 类型处理器(TypeHandler)注册与映射机制:JsonListTypeHandler和JsonListTypeHandler注册时机

下面几种机制会让你的 List<String>/Map<String,?> 能正确读写成 JSON 数组&#xff0f;对象文本&#xff1a; MyBatis-Plus 自动注册 最新版本的 MyBatis-Plus starter 会把类路径下所有带 MappedTypes({List.class})、MappedJdbcTypes(JdbcType.VARCHAR) 这类注…...

Spark SQL开发实战:从IDEA环境搭建到UDF/UDAF自定义函数实现

利用IDEA开发Spark-SQL 1、创建子模块Spark-SQL&#xff0c;并添加依赖 <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2.12</artifactId> <version>3.0.0</version> </dependency> 3…...

神经网络笔记 - 神经网络

一.神经网络基础知识 1.神经网络解决了什么问题 将人类眼中的数据&#xff08;如图像、文本&#xff09;转换成计算机能理解的特征矩阵。适用于分类、回归等多种任务&#xff0c;本质上是进行特征提取与决策映射。 2.神经网络基本结构 输入层&#xff08;Input Layer&#x…...

C20-breakcontinue

一 break break的作用:用于跳出当前的循环 #include <stdio.h> int main() {//变量初始化int TallPeopleNumber;int TallMoney0;int SingelMoney;//循环体for(TallPeopleNumber1;TallPeopleNumber<1000;TallPeopleNumber){printf("请输入单笔捐款金额:\n")…...

关于IDEA的循环依赖问题

bug描述&#xff1a;&#xff08;java: 模块循环不支持注解处理。请确保将循环 [...] 中的所有模块排除在注解处理之外&#xff09; 解决方法&#xff1a;...

uniapp跳转和获取参数方式

1.小程序跳转 1.1 原生组件跳转 <navigator url"/pages/about/about?id10">跳转</navigator> 1.2 方法接口跳转 uni.navigateTo({url:/pages/about/about?id2}) 2.获取参数值 页面获取id值 onLoad(e) {console.log(e.id);}...

BP 算法探秘 :神经网络的幕后引擎

大家好&#xff0c;我是沛哥儿&#xff0c;很高兴又和大家见面了。 在人工智能的世界里&#xff0c;神经网络如同大脑一般神秘又强大&#xff0c;而其中 **BP 算法&#xff08;Backpropagation Algorithm&#xff09;**就是驱动这个 “大脑” 不断学习进化的幕后引擎。 文章目录…...

物联网相关

文章目录 1 MQTT2 MQTT FX3 EMQ X 1 MQTT MQTT是一种基于发布/订阅模式的轻量级物联网消息协议&#xff0c;全称为Message Queuing Telemetry Transport&#xff08;消息队列遥测传输&#xff09;。它具有低功耗、低带宽占用、可靠性高等特点&#xff0c;广泛应用于物联网设备…...

【Axure高保真原型】3级多选下拉列表

今天和大家分享3级多选下拉列表原型模板&#xff0c;这个模版是用中继器制作的&#xff0c;所以使用也很方便&#xff0c;选项的数据在中继器表格里维护即可自动生成交互效果&#xff0c;具体效果可以打开下方原型地址体验或者点击下方视频观看 【原型效果含使用说明】 【Axur…...

光敏材料与智能传感技术的能源系统创新研究

一、光敏储能体系的作用机理与技术创新 1.1 分子光能转换机制 基于分子构型变化的能量存储技术展现出独特优势&#xff0c;其核心机理涉及光敏材料在光照下的可逆分子构型变化。以偶氮苯体系为例&#xff0c;在365nm紫外光激发下&#xff0c;分子发生反式到顺式的异构转变&…...

Docker 安装 kafka (bitnami/kafka:4.0)

1、拉取镜像 docker pull bitnami/kafka:4.02、创建挂载目录 mkdir -p /user/lzl/tool/docker/kafka/bitnami/bitnami_kafka_4.0/home/datamkdir -p /user/lzl/tool/docker/kafka/bitnami/bitnami_kafka_4.0/home/logs3、给挂载目录授权 chmod 777 /user/lzl/tool/docker/ka…...

NameSilo转入转出域名

一、总起 域名转入转出主要沟通方式就是靠注册邮箱收取转移授权码。 因为namesilo的界面一直在慢慢改动&#xff08;很慢很慢&#xff09;&#xff0c;所以本文和网上教程里的截图有所不同&#xff0c;以后本文可能也会与实际界面有所不同。 二、转入域名 1. 在其它域名服务商…...

Python----深度学习(基于DNN的吃鸡预测)

一、目标 如何使用 PyTorch 实现一个简单的深度神经网络&#xff08;DNN&#xff09;模型&#xff0c;并用于回归任务。该模型通过训练数据集来预测玩家在游戏中的最终排名百分比。代码通过读取数据集、数据处理、模型训练和模型评估等步骤。 二、数据集介绍 和平精英&#xf…...