[x86 ubuntu22.04]进入S4失败
目录
1 问题描述
2 解决过程
2.1 查看内核日志
2.2 新建一个交换分区
2.3 指定交换分区的位置
1 问题描述
CPU:G6900E
OS:ubuntu22.04
Kernel:6.8.0-49-generic
使用“echo disk > /sys/power/state”命令进入 S4,但是无法进入, 操作如下所示。
root@jw-Windows-cpmpact-G6900E:/home/jw# echo disk > /sys/power/state
bash: echo: 写入错误:没有那个设备
root@jw-Windows-cpmpact-G6900E:/home/jw#
2 解决过程
2.1 查看内核日志
进入 S4 失败后,使用“dmesg”命令查看内核日志,内核日志如下所示,其中重要的日志为“PM: Cannot find swap device, try swapon -a”,提示找不到 swap 设备。执行“swapon -a”命令无法解决问题。
[78840.042887] PM: hibernation: hibernation entry
[78840.055243] Filesystems sync: 0.006 seconds
[78840.055376] Freezing user space processes
[78840.057843] Freezing user space processes completed (elapsed 0.002 seconds)
[78840.057849] OOM killer disabled.
[78840.058011] PM: hibernation: Marking nosave pages: [mem 0x00000000-0x00000fff]
[78840.058017] PM: hibernation: Marking nosave pages: [mem 0x0009e000-0x0009efff]
[78840.058019] PM: hibernation: Marking nosave pages: [mem 0x000a0000-0x000fffff]
[78840.058024] PM: hibernation: Marking nosave pages: [mem 0x6e5f2000-0x6e5f2fff]
[78840.058027] PM: hibernation: Marking nosave pages: [mem 0x71a6c000-0x75ffefff]
[78840.058535] PM: hibernation: Marking nosave pages: [mem 0x76000000-0xffffffff]
[78840.066112] PM: hibernation: Basic memory bitmaps created
[78840.066427] PM: hibernation: Preallocating image memory
[78840.504280] PM: hibernation: Allocated 775548 pages for snapshot
[78840.504283] PM: hibernation: Allocated 3102192 kbytes in 0.43 seconds (7214.40 MB/s)
[78840.504286] Freezing remaining freezable tasks
[78840.505560] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
[78840.523683] printk: Suspending console(s) (use no_console_suspend to debug)
[78840.524511] serial 00:01: disabled
[78840.543352] ata7.00: Entering standby power mode
[78840.681487] ACPI: PM: Preparing to enter system sleep state S4
[78840.683132] ACPI: PM: Saving platform NVS memory
[78840.683886] Disabling non-boot CPUs ...
[78840.685459] smpboot: CPU 1 is now offline
[78840.688214] PM: hibernation: Creating image:
[78840.814946] PM: hibernation: Need to copy 767085 pages
[78840.814948] PM: hibernation: Normal pages needed: 767085 + 1024, available pages: 1269914
[78841.313751] PM: hibernation: Image created (676706 pages copied, 90379 zero pages)
[78840.688625] ACPI: PM: Restoring platform NVS memory
[78840.689477] Enabling non-boot CPUs ...
[78840.689502] smpboot: Booting Node 0 Processor 1 APIC 0x2
[78840.690614] CPU1 is up
[78840.691569] ACPI: PM: Waking up from system sleep state S4
[78840.722662] serial 00:01: activated
[78840.732302] i915 0000:00:02.0: [drm] GT0: GuC firmware i915/tgl_guc_70.bin version 70.20.0
[78840.732310] i915 0000:00:02.0: [drm] GT0: HuC firmware i915/tgl_huc.bin version 7.9.3
[78840.740852] i915 0000:00:02.0: [drm] GT0: HuC: authenticated for all workloads
[78840.740859] i915 0000:00:02.0: [drm] GT0: GUC: submission disabled
[78840.740862] i915 0000:00:02.0: [drm] GT0: GUC: SLPC disabled
[78840.758499] iwlwifi 0000:00:14.3: WRT: Invalid buffer destination
[78840.853462] iwlwifi 0000:00:14.3: WFPM_UMAC_PD_NOTIFICATION: 0x20
[78840.853500] iwlwifi 0000:00:14.3: WFPM_LMAC2_PD_NOTIFICATION: 0x1f
[78840.853510] iwlwifi 0000:00:14.3: WFPM_AUTH_KEY_0: 0x90
[78840.853521] iwlwifi 0000:00:14.3: CNVI_SCU_SEQ_DATA_DW9: 0x10
[78840.854622] iwlwifi 0000:00:14.3: RFIm is deactivated, reason = 5
[78840.930832] r8168 0000:01:00.0 enp1s0: Device reseting!
[78840.942417] workqueue: rtl8168_reset_task [r8168] hogged CPU for >10000us 4 times, consider switching to WQ_UNBOUND
[78840.956487] PM: Cannot find swap device, try swapon -a
[78840.956490] PM: Cannot get swap writer
[78840.958898] r8152 2-2.1:1.0 enx00e04c600172: carrier on
[78841.016028] PM: hibernation: Basic memory bitmaps freed
[78841.016097] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_ops [i915])
[78841.016249] OOM killer enabled.
[78841.016251] Restarting tasks ...
[78841.017162] mei_pxp 0000:00:16.0-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:00:02.0 (ops i915_pxp_tee_component_ops [i915])
[78841.017840] done.
[78841.018337] PM: hibernation: hibernation exit
[78841.086574] ata6: SATA link down (SStatus 4 SControl 300)
[78841.086632] ata8: SATA link down (SStatus 4 SControl 300)
[78841.086686] ata5: SATA link down (SStatus 4 SControl 300)
[78841.086716] ata7: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[78841.088885] ata7.00: configured for UDMA/133
[78841.098998] ahci 0000:00:17.0: port does not support device sleep
使用“swapon --show”命令查看交换分区,显示有/swapfile,但是其类型为 file 而不是partition。
jw@jw-EloPOS-Compact-G6900E:~$ swapon --show
NAME TYPE SIZE USED PRIO
/swapfile file 2G 0B -2
使用“lsblk”命令查看不到交换分区。
jw@jw-EloPOS-Compact-G6900E:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 73.9M 1 loop /snap/core22/1722
loop1 7:1 0 74.2M 1 loop /snap/core22/1122
loop2 7:2 0 4K 1 loop /snap/bare/5
loop3 7:3 0 266.6M 1 loop /snap/firefox/3836
loop4 7:4 0 497M 1 loop /snap/gnome-42-2204/141
loop5 7:5 0 91.7M 1 loop /snap/gtk-common-themes/1535
loop6 7:6 0 12.2M 1 loop /snap/snap-store/1216
loop7 7:7 0 12.3M 1 loop /snap/snap-store/959
loop8 7:8 0 40.4M 1 loop /snap/snapd/20671
loop9 7:9 0 44.4M 1 loop /snap/snapd/23545
loop10 7:10 0 568K 1 loop /snap/snapd-desktop-integration/253
loop11 7:11 0 452K 1 loop /snap/snapd-desktop-integration/83
sda 8:0 0 119.2G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
└─sda2 8:2 0 118.7G 0 part /var/snap/firefox/common/host-hunspell/
nbd0 43:0 0 0B 0 disk
nbd1 43:32 0 0B 0 disk
nbd2 43:64 0 0B 0 disk
nbd3 43:96 0 0B 0 disk
nbd4 43:128 0 0B 0 disk
nbd5 43:160 0 0B 0 disk
nbd6 43:192 0 0B 0 disk
nbd7 43:224 0 0B 0 disk
zram0 252:0 0 0B 0 disk
nbd8 43:256 0 0B 0 disk
nbd9 43:288 0 0B 0 disk
nbd10 43:320 0 0B 0 disk
nbd11 43:352 0 0B 0 disk
nbd12 43:384 0 0B 0 disk
nbd13 43:416 0 0B 0 disk
nbd14 43:448 0 0B 0 disk
nbd15 43:480 0 0B 0 disk
jw@jw-EloPOS-Compact-G6900E:~$
2.2 新建一个交换分区
在安装系统时手动分区,新建一个交换分区。操作过程如下所示。
点击“中文(简体)”,然后点击“安装 Ubuntu”。

点击“继续”。

选择以下内容,然后点击“继续”。

选择“其选项”,然后点击“继续”。

如果原始硬盘有其他分区,请先删除分区,只剩一块空闲区域,如下所示。

保留BIOS启动分区,这个是必须的,但是只要求大于1M就行,我给32M,使用的主分区。


EFI系统分区,这个也是必须的,也不用太大,给512M就行,逻辑分区。


交换空间,系统进入 S4 必须要有的分区,如果内存低的话(1-4G),建议为物理内存的两倍;>4G的话,要么等于物理内存,要么物理内存+2g左右,我这里直接给 16G。


/boot分区,/boot分区在挂载点选项中,这个也是必须的,存放的是linux内核和启动引导文件。给2G,逻辑分区。


安装系统的分区,这个分区的大小就看情况而定了,如果装的软件多就大点。当然安装软件的目录也可以单独分区,我这里把剩余的储存都分到这个区域。需要注意:这是系统,必须主分区!


点击“继续”。

点击“继续”。

填写信息和密码,点击“继续”。

等待安装成功。安装成功后,使用“swapon --show”命令查看交换分区,可以看到有/dev/sda3 交换分区,而且类型为partition。
jw@jw-EloPOS-Compact-G6900E:~$ swapon --show
NAME TYPE SIZE USED PRIO
/dev/sda3 partition 15.3G 0B -2
jw@jw-EloPOS-Compact-G6900E:~$
使用“lsblk”命令查看能查看到 sda3 后面有 SWAP 的标志。
jw@jw-EloPOS-Compact-G6900E:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 4K 1 loop /snap/bare/5
loop1 7:1 0 74.2M 1 loop /snap/core22/1122
loop2 7:2 0 266.6M 1 loop /snap/firefox/3836
loop3 7:3 0 497M 1 loop /snap/gnome-42-2204/141
loop4 7:4 0 91.7M 1 loop /snap/gtk-common-themes/1535
loop5 7:5 0 12.3M 1 loop /snap/snap-store/959
loop6 7:6 0 40.4M 1 loop /snap/snapd/20671
loop7 7:7 0 452K 1 loop /snap/snapd-desktop-integration/83
sda 8:0 0 119.2G 0 disk
├─sda1 8:1 0 30M 0 part
├─sda2 8:2 0 488M 0 part /boot/efi
├─sda3 8:3 0 15.3G 0 part [SWAP]
├─sda4 8:4 0 1.9G 0 part /boot
└─sda5 8:5 0 101.6G 0 part /var/snap/firefox/common/host-hunspell/
jw@jw-EloPOS-Compact-G6900E:~$
创建了 swap 分区,使用“echo disk > /sys/power/state ”命令不会报错,机器能关机,但是开机不保存原先的状态,抓取的 log 如下,可以看到数据保存到硬盘已成功,可能是机器开机时没有选择交换分区启动。
[ 210.103344] PM: hibernation: hibernation entry
[ 210.133849] Filesystems sync: 0.024 seconds
[ 210.138185] Freezing user space processes
[ 210.143904] Freezing user space processes completed (elapsed 0.001 seconds)
[ 210.150955] OOM killer disabled.
[ 210.157486] PM: hibernation: Preallocating image memory
[ 210.518218] PM: hibernation: Allocated 580388 pages for snapshot
[ 210.524249] PM: hibernation: Allocated 2321552 kbytes in 0.35 seconds (6633.00 MB/s)
[ 210.532007] Freezing remaining freezable tasks
[ 210.537855] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
[ 210.568530] printk: Suspending console(s) (use no_console_suspend to debug)
[ 210.576335] serial 00:01: disabled
[ 210.606020] ata7.00: Entering standby power mode
[ 210.730940] ACPI: PM: Preparing to enter system sleep state S4
[ 210.732493] ACPI: PM: Saving platform NVS memory
[ 210.732954] Disabling non-boot CPUs ...
[ 210.734379] smpboot: CPU 1 is now offline
[ 210.736561] PM: hibernation: Creating image:
[ 210.870463] PM: hibernation: Need to copy 562217 pages
[ 211.277005] PM: hibernation: Image created (491079 pages copied, 71138 zero pages)
[ 210.736972] ACPI: PM: Restoring platform NVS memory
[ 210.737810] Enabling non-boot CPUs ...
[ 210.737837] smpboot: Booting Node 0 Processor 1 APIC 0x2
[ 210.738941] CPU1 is up
[ 210.739870] ACPI: PM: Waking up from system sleep state S4
[ 210.767977] serial 00:01: activated
[ 210.773038] i915 0000:00:02.0: [drm] GT0: GuC firmware i915/tgl_guc_70.bin version 70.5.1
[ 210.773044] i915 0000:00:02.0: [drm] GT0: HuC firmware i915/tgl_huc.bin version 7.9.3
[ 210.781314] i915 0000:00:02.0: [drm] GT0: HuC: authenticated for all workloads
[ 210.781321] i915 0000:00:02.0: [drm] GT0: GUC: submission disabled
[ 210.781324] i915 0000:00:02.0: [drm] GT0: GUC: SLPC disabled
[ 210.832422] r8168 0000:01:00.0 enp1s0: Device reseting!
[ 210.996902] r8152 2-2.1:1.0 enx00e04c600172: carrier on
[ 211.084300] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_ops [i915])
[ 211.096035] mei_pxp 0000:00:16.0-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:00:02.0 (ops i915_pxp_tee_component_ops [i915])
[ 211.128635] ata5: SATA link down (SStatus 4 SControl 300)
[ 211.134110] ata7: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 211.140355] ata8: SATA link down (SStatus 4 SControl 300)
[ 211.145821] ata6: SATA link down (SStatus 4 SControl 300)
[ 211.152203] ata7.00: configured for UDMA/133
[ 211.166603] ahci 0000:00:17.0: port does not support device sleep
[ 211.173155] PM: Using 1 thread(s) for compression
[ 211.177885] PM: Compressing and saving image data (492178 pages)...
[ 211.184168] PM: Image saving progress: 0%
[ 211.538023] PM: Image saving progress: 10%
[ 212.009899] PM: Image saving progress: 20%
[ 212.514721] PM: Image saving progress: 30%
[ 213.004586] PM: Image saving progress: 40%
[ 213.467357] PM: Image saving progress: 50%
[ 213.935768] PM: Image saving progress: 60%
[ 214.348204] PM: Image saving progress: 70%
[ 214.754283] PM: Image saving progress: 80%
[ 215.206220] PM: Image saving progress: 90%
[ 215.564862] PM: Image saving progress: 100%
[ 215.569214] PM: Image saving done
[ 215.572551] PM: hibernation: Wrote 1968712 kbytes in 4.38 seconds (449.47 MB/s)
[ 215.579920] PM: S|
[ 215.630665] printk: Suspending console(s) (use no_console_suspend to debug)
2.3 指定交换分区的位置
将“/etc/default/grub”文件的“GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"”改成“GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=/dev/sda3"”,指定交换分区的位置为“/dev/sda3”,然后执行“update-grub”命令并重启,即可解决问题。
--- a/etc/default/grub
+++ b/etc/default/grub
@@ -7,7 +7,7 @@ GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.8.0-3-generic"GRUB_TIMEOUT_STYLE=hiddenGRUB_TIMEOUT=0GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
-GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
+GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=/dev/sda3"GRUB_CMDLINE_LINUX=""# Uncomment to enable BadRAM filtering, modify to suit your needs
相关文章:
[x86 ubuntu22.04]进入S4失败
目录 1 问题描述 2 解决过程 2.1 查看内核日志 2.2 新建一个交换分区 2.3 指定交换分区的位置 1 问题描述 CPU:G6900E OS:ubuntu22.04 Kernel:6.8.0-49-generic 使用“echo disk > /sys/power/state”命令进入 S4,但是无法…...
idea隐藏无关文件
idea隐藏无关文件 如果你想隐藏某些特定类型的文件(例如 .log 文件或 .tmp 文件),可以通过以下步骤设置: 打开设置 在菜单栏中选择 File > Settings(Windows/Linux)或 IntelliJ IDEA > Preference…...
ES6 对象扩展:对象简写,对象属性 表达式,扩展运算符 ...,Object.assign,Object.is,用法和应用场景
1. 对象属性简写 1.1 基本语法 // 传统写法 const name John; const age 25; const user {name: name,age: age };// ES6 简写语法 const user {name,age };1.2 实际应用场景 // 1. 函数返回对象 function createUser(name, age, email) {return {name,age,email}; }// …...
文献阅读 250205-Global patterns and drivers of tropical aboveground carbon changes
Global patterns and drivers of tropical aboveground carbon changes 来自 <Global patterns and drivers of tropical aboveground carbon changes | Nature Climate Change> 热带地上碳变化的全球模式和驱动因素 ## Abstract: Tropical terrestrial ecosystems play …...
C++SLT(三)——list
目录 一、list的介绍二、list的使用list的定义方式 三、list的插入和删除push_back和pop_backpush_front和pop_frontinserterase 四、list的迭代器使用五、list的元素获取六、list的大小控制七、list的操作函数sort和reversemergeremoveremove_ifuniqueassignswap 一、list的介…...
【数据结构】循环链表
循环链表 单链表局限性单向循环链表判断链表是否有环思路code 找到链表入口思路代码结构与逻辑 code 单链表局限性 单链表作为一种基本的数据结构,虽然在很多场景下都非常有用,但它也存在一些局限性: 单向访问:由于每个节点仅包含…...
ImGui 学习笔记(二)—— 多视口
在计算机图形学中,视口(Viewport)是一个可观察的多边形区域。 将物体渲染至图像的过程中,会用两种区域表示。世界坐标窗口是用户所关注的区域(即用户想要可视化的东西),坐标系由应用程序确定。…...
vue2-mixin的定义与和使用
文章目录 1. 什么是mixin2. 局部混入3. 全局混入4. 多mixin混入冲突4.1 替换性4.2 合并型4.3 合并队列型4.4 叠加性 5. 使用场景 #vue2-mixin的使用 1. 什么是mixin Mixin是面向对象语言中的一个类,提供了方法的实现,其他类可以访问mixin类的方法而不用…...
安装和卸载RabbitMQ
我的飞书:https://rvg7rs2jk1g.feishu.cn/docx/SUWXdDb0UoCV86xP6b3c7qtMn6b 使用Ubuntu环境进行安装 一、安装Erlang 在安装RabbitMQ之前,我们需要先安装Erlang,RabbitMQ需要Erlang的语言支持 #安装Erlang sudo apt-get install erlang 在安装的过程中,会弹出一段信息,此…...
Apache HttpClient
HttpClient是apache组织下面的一个用于处理HTTP请求和响应的来源工具,是一个在JDK基础类库是做了更好的封装的类库。 HttpClient 使用了连接池技术来管理 TCP 连接,这有助于提高性能并减少资源消耗。连接池允许 HttpClient 复用已经建立的连接࿰…...
Golang 并发机制-6:掌握优雅的错误处理艺术
并发编程可能是提高软件系统效率和响应能力的一种强有力的技术。它允许多个工作负载同时运行,充分利用现代多核cpu。然而,巨大的能力带来巨大的责任,良好的错误管理是并发编程的主要任务之一。 并发代码的复杂性 并发编程增加了顺序程序所不…...
react使用DatePicker日期选择器
1、引入:npm i day 2、页面引入: import dayjs from dayjs; 3、使用 <DatePicker onChange{onChange} value{datas ? dayjs(datas) : null} /> 4、事件 const onChange (date, dateString) > {setInput(dateString)setDatas(dateString)…...
第27节课:安全审计与防御—构建坚固的网络安全防线
目录 安全审计工具与流程安全审计工具NessusNmapBurp Suite 安全审计流程规划与准备信息收集漏洞扫描分析与评估报告与建议 安全防御策略网络层防御应用层防御数据层防御安全管理 结语 在当今数字化时代,网络安全已成为企业和个人不可忽视的重要议题。随着网络攻击手…...
深度学习 Pytorch 基础网络手动搭建与快速实现
为了方便后续练习的展开,我们尝试自己创建一个数据生成器,用于自主生成一些符合某些条件、具备某些特性的数据集。 导入相关的包 # 随机模块 import random# 绘图模块 import matplotlib as mpl import matplotlib.pyplot as plt# 导入numpy import nu…...
保姆级教程Docker部署KRaft模式的Kafka官方镜像
目录 一、安装Docker及可视化工具 二、单节点部署 1、创建挂载目录 2、运行Kafka容器 3、Compose运行Kafka容器 4、查看Kafka运行状态 三、集群部署 四、部署可视化工具 1、创建挂载目录 2、运行Kafka-ui容器 3、Compose运行Kafka-ui容器 4、查看Kafka-ui运行状态 …...
51单片机看门狗系统
在 STC89C52 单片机中,看门狗控制寄存器的固定地址为 0xE1。此地址由芯片厂商在硬件设计时确定,但是它在头文件中并未给出,因此在使用看门狗系统时需要声明下这个特殊功能寄存器 sfr WDT_CONTR 0xE1; 本案将用一个小灯的工作状况来展示看门…...
RNN/LSTM/GRU 学习笔记
文章目录 RNN/LSTM/GRU一、RNN1、为何引入RNN?2、RNN的基本结构3、各种形式的RNN及其应用4、RNN的缺陷5、如何应对RNN的缺陷?6、BPTT和BP的区别 二、LSTM1、LSTM 简介2、LSTM如何缓解梯度消失与梯度爆炸? 三、GRU四、参考文献 RNN/LSTM/GRU …...
Android记事本App设计开发项目实战教程2025最新版Android Studio
平时上课录了个视频,从新建工程到打包Apk,从头做到尾,没有遗漏任何实现细节,欢迎学过Android基础的同学参加,如果你做过其他终端软件开发,也可以学习,快速上手Android基础开发。 Android记事本课…...
【Leetcode 每日一题 - 补卡】680. 验证回文串 II
问题背景 给你一个字符串 s s s,最多 可以从中删除一个字符。 请你判断 s s s 是否能成为回文字符串:如果能,返回 t r u e true true;否则,返回 f a l s e false false。 数据约束 1 ≤ s . l e n g t h ≤ 1 0 …...
Leetcode 8283 移除排序链表中的重复元素
Leetcode 82&83 移除排序链表中的重复元素 Leetcode 83 题目描述 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 示例 1: 输入:head [1,1,2] 输出:[1,2] 示…...
【R语言】获取数据
R语言自带2种数据存储格式:*.RData和*.rds。 这两者的区别是:前者既可以存储数据,也可以存储当前工作空间中的所有变量,属于非标准化存储;后者仅用于存储单个R对象,且存储时可以创建标准化档案,…...
为什么在springboot中使用autowired的时候它黄色警告说不建议使用字段注入
byType找到多种实现类导致报错 Autowired: 通过byType 方式进行装配, 找不到或是找到多个,都会抛出异常 我们在单元测试中无法进行字段注入 字段注入通常是 private 修饰的,Spring 容器通过反射为这些字段注入依赖。然而,在单元测试中&…...
Unity游戏(Assault空对地打击)开发(6) 鼠标光标的隐藏
前言 鼠标光标在游戏界面太碍眼了,要隐藏掉。 详细操作 新建一个脚本HideCursor,用于隐藏/取消隐藏光标。 写入以下代码。 意义:游戏开始自动隐藏光标,按Esc(隐藏<-->显示)。 using System.Collectio…...
哪些专业跟FPGA有关?
FPGA产业作为近几年新兴的技术领域,薪资高、待遇好,吸引了大量的求职者。特别是对于毕业生,FPGA领域的岗位需求供不应求。那么,哪些专业和FPGA相关呢? 哪些专业跟FPGA有关? 微电子学与固体电子学、微电子科…...
UE5 蓝图学习计划 - Day 14:搭建基础游戏场景
在上一节中,我们 确定了游戏类型,并完成了 项目搭建、角色蓝图的基础设置(移动)。今天,我们将进一步完善 游戏场景,搭建 地形、墙壁、机关、触发器 等基础元素,并添加角色跳跃功能,为…...
ZooKeeper单节点详细部署流程
ZooKeeper单节点详细部署流程 文章目录 ZooKeeper单节点详细部署流程 一.下载稳定版本**ZooKeeper**二进制安装包二.安装并启动**ZooKeeper**1.安装**ZooKeeper**2.配置并启动**ZooKeeper** ZooKeeper 版本与 JDK 兼容性3.检查启动状态4.配置环境变量 三.可视化工具管理**Zooke…...
Python----Python高级(并发编程:进程Process,多进程,进程间通信,进程同步,进程池)
一、进程Process 拥有自己独立的堆和栈,既不共享堆,也不共享栈,进程由操作系统调度;进程切换需要的资源很最大,效率低。 对于操作系统来说,一个任务就是一个进程(Process)ÿ…...
ComfyUI安装调用DeepSeek——DeepSeek多模态之图形模型安装问题解决(ComfyUI-Janus-Pro)
ComfyUI 的 Janus-Pro 节点,一个统一的多模态理解和生成框架。 试用: https://huggingface.co/spaces/deepseek-ai/Janus-1.3B https://huggingface.co/spaces/deepseek-ai/Janus-Pro-7B https://huggingface.co/spaces/deepseek-ai/JanusFlow-1.3B 安装…...
React中为每个列表项显示多个DOM节点的解决方案
React中为每个列表项显示多个DOM节点的解决方案 问题背景:Fragment的简写形式的限制解决方案:使用显式的<Fragment>组件实现步骤 其他替代方案方法一:使用<div>包裹节点方法二:使用React.createElement创建Fragment 为…...
VoIP中常见术语
在 VoIP(Voice over Internet Protocol,基于互联网协议的语音传输)技术中,涉及许多专业术语。以下是常见术语及其含义: 1. 核心协议相关 SIP(Session Initiation Protocol,会话发起协议…...
