【VirtualBox】AMD(R9-7940)芯片安装Mac OS12.0.1 Monterey

news2024/11/24 11:11:12

系统、软件:

  1. macos12.0.1 ISO文件;
  2. virtual box(7.0.18)以及扩展包(官网下载即可);
  3. AMD R9-7940HS;
  4. Windows 11 professional;
  5. GenSMBIOS(github);
  6. powershell或者cmd(管理员运行);
  7. 开启虚拟化(AMD-V)。

这些都可以自己下载,也可以去我公众号回复:macos,获得打包好的(百度云、阿里云、OneDrive、夸克均有)。

文章目录

  • 一、准备
    • 1.1 intro
    • 1.2 开启CPU虚拟化
    • 1.3 安装扩展
  • 二、创建虚拟机和设置
    • 2.1 创建和基本参数设置
    • 2.2 额外参数设置
      • 2.21 认识VBoxManage
      • 2.22 设置额外参数
      • 2.23 设置显存和分辨率
    • 2.3 我的配置文件

一、准备

1.1 intro

名称:

macOS 10.12 - Sierra(内华达山脉)
macOS 10.13 - High Sierra(高内华达山脉)
macOS 10.14 - Mojave(莫哈韦沙漠)
macOS 10.15 - Catalina(圣卡塔利娜岛)
macOS 11.x 系列
macOS 11 - Big Sur(大苏尔)
macOS 12.x 系列
macOS 12 - Monterey(蒙特雷)
macOS 13.x 系列
macOS 13 - Ventura(文图拉)
macOS 14.x 系列
macOS 14 - Sonoma(索诺玛)
macOS 15 - Sequoia(红衫公园)(beta,2024)

劝退:

  • 效果一般的;
  • 在Intel CPU的电脑上效果会好一些;
  • 在VMWare上也可能好一丢丢;
  • 旧一点的CPU问题少一些;
  • macOS13以后虚拟机安装都不友好(virtual box原生仅支持到10.13版本)
  • 删了用Apple机器吧。

1.2 开启CPU虚拟化

虚拟化技术(如AMD-V或Intel VT-x)可以显著提升虚拟机的性能和稳定性。虽然在某些情况下未开启虚拟化技术也能运行虚拟机,但性能会受影响,某些高级功能可能无法使用。以下是开启虚拟化技术的重要原因:

  1. 提高性能:虚拟化技术可以更有效地分配和管理CPU资源,从而提升虚拟机的运行速度和响应时间。

  2. 支持64位虚拟机:开启虚拟化技术是运行64位虚拟机的必要条件。

  3. 增强兼容性:某些操作系统和软件在虚拟化技术开启的情况下才能正确运行。

  4. 高级功能:开启虚拟化技术后,可以使用VirtualBox中的高级功能,例如嵌套虚拟化。

可以先在任务管理器-性能-CPU那里看看有没有开。

在这里插入图片描述

开启AMD电脑的虚拟化技术(通常是AMD-VSVM),你需要进入BIOS或UEFI设置。以下是一般的步骤:

  1. 重启电脑:在启动过程中按下进入BIOS的快捷键(通常是F2、F10、F12或Del)。

  2. 进入BIOS设置:在BIOS菜单中,找到“高级”或“高级模式”选项。

  3. 找到CPU配置:在“高级”选项中,找到与CPU设置相关的选项,通常会有“CPU Configuration”或“Advanced CPU Configuration”。

  4. 启用SVM:找到“SVM Mode”或“Secure Virtual Machine”选项,并将其设置为“Enabled”。

  5. 保存设置并退出:按下F10保存设置并退出BIOS。

  6. 重启电脑:电脑将会重启并应用新的设置。

这些步骤可能会因不同的主板和BIOS版本而有所不同,但大致流程是相似的。如果找不到相关选项,可以参考主板的用户手册或访问主板制造商的网站获取详细信息。

1.3 安装扩展

双击那个扩展即可安装:Oracle_VM_VirtualBox_Extension_Pack-7.0.18.vbox-extpack
或者在虚拟机里面点击“工具”,右边也有安装按钮。
在这里插入图片描述

二、创建虚拟机和设置

主要设置一些参数:

  • 基本参数:在virtual box GUI界面设置即可,主要是给虚拟机分配操作系统资源;
  • 额外参数:让虚拟机里面的系统认为你在Apple设备上运行系统,如设置序列号、UUID等。

2.1 创建和基本参数设置

创建没啥好说的,看我以前的文章大概了解一些流程:【virtual Box】功能速通:安装 Windows 和 Ubuntu

一般键盘上右边ctrl键会被默认设置为Home键,Home+F就是全屏,Home+C就是隐藏/显示菜单栏,自己在设置里面看就行了。

创建好了再修改参数也是可以的。

参数设置如下:

  • 常规
    • 基本:名称自定义,类型选Mac OS X,版本选最下面的;
  • 系统
    • 主板:内存大小自定义,启动顺序光驱—硬盘,其他默认,EFI开启的;
    • 处理器:自定义,扩展特性只选第一个;
    • 硬件加速:默认,启用嵌套分页;
  • 显示
    • 屏幕:显存拉满,显卡控制器VBoxVGA,启用3D加速;
  • 存储
    • 使用vdi类型的虚拟硬盘即可,80G起步吧,60G也行;
  • 网络
    • 模式都可以,我用的桥接(要使用宿主机代理)
  • USB
    • 选3.0

显存可能只有128MB,virtual box最大支持256MB,不能拉到256后面会介绍相关命令。

内存和CPU多分一点。


基本参数就是这些,不清楚的直接看我视频就行了:

AMD Ryzen9 7940HS在virtual Box虚拟机中安装Mac OS12.0 Monterey

现在还无法安装和启用macos。

2.2 额外参数设置

虚拟机的配置文件在你保存虚拟机的那个文件夹下,后缀是.vbox.vdi是虚拟硬盘,人类不可读。

下面通过命令修改配置文件,就是修改.vbox的内容,用命令和直接编辑配置文件都可以的。

确保虚拟机相关进程都关闭后再进行参数更改(去任务管理器中搜名字即可看到)。

2.21 认识VBoxManage

VBoxManage是Oracle VM VirtualBox的命令行管理工具。通过VBoxManage,用户可以执行几乎所有通过VirtualBox图形用户界面(GUI)能够完成的任务,包括创建和配置虚拟机、启动和停止虚拟机、管理虚拟硬盘、配置网络等。

所以执行命令的时候可以先进入virtual box的安装文件夹下面,VBoxManage.exe就在那里。

cd D:\virtualbox

VBoxManage的命令就不展开说了,说2个用得到的:

查看虚拟机列表:

VBoxManage list vms

查看某个虚拟机的配置信息:

VBoxManage showvminfo 名称

在这里插入图片描述

2.22 设置额外参数

我的完整配置文件见文末,可以参考,复制不一定能用哦。

目的就是模拟一个Apple设备。

用管理员身份打开命令行工具(power shell、cmd)再执行命令(虚拟机完全关闭)。

cd D:\virtualbox
VBoxManage.exe modifyvm "Monterey" --cpuid-set 00000001 000106e5 00100800 0098e3fd bfebfbff
VBoxManage setextradata "Monterey" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
VBoxManage setextradata "Monterey" "VBoxInternal/TM/TSCMode" "RealTSCOffset"
VBoxManage modifyvm "Monterey" --cpu-profile "Intel Core i7-6700K"

一行一行执行太慢了,先执行上面这些,然后直接编辑.vbox文件即可。intel芯片无需设置最后一行。

我们要设置的参数大都<ExtraData>标签下面,先别急复制,往下看。
在这里插入图片描述

主要内容:

<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiBIOSReleaseDate" value="06/14/2018"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" value="MacBookPro15,1"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" value="C02WM5YNKGYG"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiBoardSerial" value="C02817104CDJP4F1H"/> 
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiSystemUuid" value="2C01A623-FA31-4977-B338-93A11A11C3C4"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiOEMVBoxVer" value="string:1"/>     
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiOEMVBoxRev=" value="string:.23456"/>
<ExtraDataItem name="VBoxInternal/Devices/smc/0/Config/DeviceKey" value="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" value="Mac-6F01561E16C75D06"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiSystemFamily" value="MacBook Pro"/>  
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiBIOSVersion" value="MBP114.88Z.F000.B00.1906140921"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiBIOSReleaseDate=" value="06/14/2018"/>

直接可以复制的是:

<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiBIOSReleaseDate" value="06/14/2018"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" value="MacBookPro15,1"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiOEMVBoxVer" value="string:1"/>     
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiOEMVBoxRev=" value="string:.23456"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" value="Mac-6F01561E16C75D06"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiSystemFamily" value="MacBook Pro"/>  
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiBIOSVersion" value="MBP114.88Z.F000.B00.1906140921"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiBIOSReleaseDate=" value="06/14/2018"/>
<ExtraDataItem name="VBoxInternal/Devices/smc/0/Config/DeviceKey" value="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"/>

使用软件生成的是:

<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" value="C02WM5YNKGYG"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiBoardSerial" value="C02817104CDJP4F1H"/> 
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiSystemUuid" value="2C01A623-FA31-4977-B338-93A11A11C3C4"/>

软件生成的SMBIOS信息,把序列号、主板序列号、UUID替换成生成的信息即可。

  #######################################################
 #            MacBookPro15,1 SMBIOS Info               #
#######################################################

Type:         MacBookPro15,1
Serial:       C02WM5YNKGYG
Board Serial: C02817104CDJP4F1H
SmUUID:       2C01A623-FA31-4977-B338-93A11A11C3C4
Apple ROM:    80BE055DB143

SMBIOS(System Management BIOS)是一种用于在计算机硬件和操作系统之间传递管理信息的规范。它定义了数据结构和访问方法,使操作系统可以从系统固件中获取有关计算机硬件的信息。我们就是要生成这些信息,让虚拟机中macos可以比较正常的安装。

生成SMBIOS的工具:https://github.com/corpnewt/GenSMBIOS,下载后直接运行.bat脚本即可(Windows下)。

先输入选项1,再输入3,输入 MacBookPro15,1 即可生成。这里 MacBookPro15,1 是标识MacBook Pro笔记本电脑型号的一种内部命名方式,具体就是18年的Pro,使用的是i7芯片。生成上面所示信息,替换即可。

在这里插入图片描述

2.23 设置显存和分辨率

显存最大256。

分辨率根据你显示器来就行,macos不能安装那个“增强功能”(看我之前文章),不能直接更改分辨率,所以要用命令。

VBoxManage modifyvm "Monterey" --vram 256
VBoxManage setextradata "Monterey" CustomVideoMode1 1920x1080x32 
VBoxManage setextradata "Monterey" VBoxInternal2/EfiGraphicsResolution 1920x1080

现在就可以启动了,选择语言后,磁盘管理,抹掉虚拟硬盘(APFS),然后叉掉,安装即可,大概要几十分钟。

应该不会报错,如果报错退出,可以看看报错信息,是哪个参数不对,没必要删掉虚拟机重来,删掉ExtraData里面的内容,重新设置即可。

先不要登录Apple ID,这种生成的序列号以及有很多人登录过Apple ID了,且我们模拟的Apple设备信息其实很少,所以直接登录Apple ID是不成功的,显示iCloud unsupposed device。去Apple Store登录即可(可以下软件,依然不能用iCloud)。

不好玩,体验一下就可以了。

2.3 我的配置文件

直接复制可能会出错,按照前面步骤操作。

<?xml version="1.0"?>
<!--
** DO NOT EDIT THIS FILE.
** If you make changes to this file while any VirtualBox related application
** is running, your changes will be overwritten later, without taking effect.
** Use VBoxManage or the VirtualBox Manager GUI to make changes.
-->
<VirtualBox xmlns="http://www.virtualbox.org/" version="1.19-windows">
  <Machine uuid="{60339dec-cee6-4e15-8b12-f3beee2d4d43}" name="Monterey" OSType="MacOS1013_64" snapshotFolder="Snapshots" lastStateChange="2024-07-06T15:33:42Z">
    <MediaRegistry>
      <HardDisks>
        <HardDisk uuid="{97c72c90-7d06-40b7-8b60-0d4179117f9a}" location="Monterey.vdi" format="VDI" type="Normal"/>
      </HardDisks>
      <DVDImages>
        <Image uuid="{616fca69-61ef-471a-b4a3-d17cdede418b}" location="F:/BaiduNetdiskDownload/macOS Monterey.iso"/>
      </DVDImages>
    </MediaRegistry>
    <ExtraData>
      <ExtraDataItem name="CustomVideoMode1" value="1920x1080x32"/>
      <ExtraDataItem name="GUI/LastCloseAction" value="PowerOff"/>
      <ExtraDataItem name="GUI/LastNormalWindowPosition" value="0,23,1920,1009,max"/>
      <ExtraDataItem name="GUI/StatusBar/Enabled" value="false"/>
      <ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiBIOSReleaseDate" value="06/14/2018"/>
      <ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiBIOSVersion" value="MBP114.88Z.F000.B00.1906140921"/>
      <ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" value="Mac-6F01561E16C75D06"/>
      <ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiBoardSerial" value="C02817104CDJP4F1H"/>
      <ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiOEMVBoxRev" value="string:.23456"/>
      <ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiOEMVBoxVer" value="string:1"/>
      <ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiSystemFamily" value="MacBook Pro"/>
      <ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" value="MacBookPro15,1"/>
      <ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" value="C02WM5YNKGYG"/>
      <ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiSystemUuid" value="2C01A623-FA31-4977-B338-93A11A11C3C4"/>
      <ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" value="1.0"/>
      <ExtraDataItem name="VBoxInternal/Devices/smc/0/Config/DeviceKey" value="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"/>
      <ExtraDataItem name="VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" value="1"/>
      <ExtraDataItem name="VBoxInternal/TM/TSCMode" value="RealTSCOffset"/>
      <ExtraDataItem name="VBoxInternal2/EfiGraphicsResolution" value="1920x1080"/>
    </ExtraData>
    <Hardware>
      <CPU count="8" CpuProfile="Intel Core i7-6700K">
        <PAE enabled="true"/>
        <LongMode enabled="true"/>
        <HardwareVirtExLargePages enabled="true"/>
        <CpuIdTree>
          <CpuIdLeaf id="1" eax="67301" ebx="1050624" ecx="10019837" edx="3219913727"/>
        </CpuIdTree>
      </CPU>
      <Memory RAMSize="10240"/>
      <Firmware type="EFI"/>
      <HID Pointing="USBTablet" Keyboard="USBKeyboard"/>
      <HPET enabled="true"/>
      <Chipset type="ICH9"/>
      <Boot>
        <Order position="1" device="HardDisk"/>
        <Order position="2" device="None"/>
        <Order position="3" device="None"/>
        <Order position="4" device="None"/>
      </Boot>
      <Display VRAMSize="256" accelerate3D="true"/>
      <BIOS>
        <IOAPIC enabled="true"/>
        <SmbiosUuidLittleEndian enabled="true"/>
      </BIOS>
      <USB>
        <Controllers>
          <Controller name="xHCI" type="XHCI"/>
        </Controllers>
      </USB>
      <Network>
        <Adapter slot="0" enabled="true" MACAddress="080027028DE5" type="82545EM">
          <DisabledModes>
            <NAT localhost-reachable="true"/>
            <InternalNetwork name="intnet"/>
            <NATNetwork name="NatNetwork"/>
          </DisabledModes>
          <BridgedInterface name="Realtek Gaming 2.5GbE Family Controller"/>
        </Adapter>
      </Network>
      <AudioAdapter controller="HDA" useDefault="true" driver="WAS" enabled="true" enabledOut="true"/>
      <RTC localOrUTC="UTC"/>
      <Clipboard mode="Bidirectional"/>
      <GuestProperties>
        <GuestProperty name="/VirtualBox/GuestAdd/Revision" value="162988" timestamp="1720278885651132105" flags=""/>
        <GuestProperty name="/VirtualBox/GuestAdd/Version" value="7.0.18" timestamp="1720278885651132103" flags=""/>
        <GuestProperty name="/VirtualBox/GuestAdd/VersionExt" value="7.0.18" timestamp="1720278885651132104" flags=""/>
        <GuestProperty name="/VirtualBox/GuestInfo/OS/Product" value="Darwin" timestamp="1720278885650622700" flags=""/>
        <GuestProperty name="/VirtualBox/GuestInfo/OS/Release" value="21.1.0" timestamp="1720278885651132100" flags=""/>
        <GuestProperty name="/VirtualBox/GuestInfo/OS/ServicePack" value="" timestamp="1720278885651132102" flags=""/>
        <GuestProperty name="/VirtualBox/GuestInfo/OS/Version" value="Darwin Kernel Version 21.1.0: Wed Oct 13 17:33:23 PDT 2021; root:xnu-8019.41.5~1/RELEASE_X86_64" timestamp="1720278885651132101" flags=""/>
        <GuestProperty name="/VirtualBox/HostInfo/GUI/LanguageID" value="zh_CN" timestamp="1720280020026398700" flags="RDONLYGUEST"/>
      </GuestProperties>
      <StorageControllers>
        <StorageController name="SATA" type="AHCI" PortCount="2" useHostIOCache="false" Bootable="true" IDE0MasterEmulationPort="0" IDE0SlaveEmulationPort="1" IDE1MasterEmulationPort="2" IDE1SlaveEmulationPort="3">
          <AttachedDevice type="HardDisk" hotpluggable="false" port="0" device="0">
            <Image uuid="{97c72c90-7d06-40b7-8b60-0d4179117f9a}"/>
          </AttachedDevice>
          <AttachedDevice passthrough="false" type="DVD" hotpluggable="false" port="1" device="0"/>
        </StorageController>
      </StorageControllers>
    </Hardware>
  </Machine>
</VirtualBox>

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第1节、基于太阳能的环境监测系统——MPPT充电板

一、更新时间&#xff1a; 本篇文章更新于&#xff1a;2024年7月6日23:33:30 二、内容简介&#xff1a; 整体系统使用太阳能板为锂电池充电和系统供电&#xff0c;天黑后锂电池为系统供电&#xff0c;本节主要介绍基于CN3722的MPPT太阳能充电模块&#xff0c;这块主要是硬件…

判断是否为完全二叉树

目录 分析 分析 1.完全二叉树的概念&#xff1a;对于深度为K的&#xff0c;有n个结点的二叉树&#xff0c;当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。 要注意的是满二叉树是一种特殊的完全二叉树。 2.思路&#xff1a;可以采…

用户身份和文件权限

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 目录 一、用户身份与能力 二、文件权限与归属 三、文件的特殊权限 四、文件的隐藏属性 五、文件访问控制列表 六、su命令和sudo服务 致谢 一、…

什么是CTO?如何成为一名优秀的CTO?

一、什么是CTO&#xff1f; 首席技术官&#xff08;CTO&#xff09;是一位负责领导和管理企业技术战略的高级职务。CTO的主要职责包括规划技术战略、监督研发活动、领导技术团队等。 二、CTO的主要职责 首席技术官&#xff0c;即CTO&#xff0c;是企业中负责技术和研发的高级管…

【漏洞复现】Emlog Pro 2.3.4——任意用户登入、会话持久化(CVE-2024-5044)

声明&#xff1a;本文档或演示材料仅供教育和教学目的使用&#xff0c;任何个人或组织使用本文档中的信息进行非法活动&#xff0c;均与本文档的作者或发布者无关。 文章目录 漏洞描述漏洞复现 漏洞描述 漏洞编号&#xff1a;CVE-2024-5044 漏洞成因&#xff1a; 在Emlog Pro …

flutter开发实战-Charles抓包设置,dio网络代理

flutter开发实战-Charles抓包设置 在开发过程中抓包&#xff0c;可以看到请求参数等数据&#xff0c;方便分析问题。flutter上使用Charles抓包设置。dio需要设置网络代理。 一、dio设置网络代理 在调试模式下需要抓包调试&#xff0c;所以需要使用代理&#xff0c;并且仅用H…

cross attention交叉熵注意力机制

交叉注意力(Cross-Attention)则是在两个不同序列上计算注意力&#xff0c;用于处理两个序列之间的语义关系。在两个不同的输入序列之间计算关联度和加权求和的机制。具体来说&#xff0c;给定两个输入序列&#xff0c;cross attention机制将一个序列中的每个元素与另一个序列中…

机器学习与现代医疗设备的结合:革新医疗健康的未来

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引言 随着技术的不断进步&#xff0c;机器学习&#xff08;Machine Learning, ML&#xff09;在现代医疗设备中的应用正在改变着…

基于B/S模式和Java技术的生鲜交易系统

你好呀&#xff0c;我是计算机学姐码农小野&#xff01;如果有相关需求&#xff0c;可以私信联系我。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;B/S模式、Java技术 工具&#xff1a;Visual Studio、MySQL数据库开发工具 系统展示 首页 用户注册…

如何在应用运行时定期监控内存使用情况

如何在应用运行时定期监控内存使用情况 在 iOS 应用开发中&#xff0c;实时监控内存使用情况对于优化性能和排查内存泄漏等问题非常重要。本文将介绍如何在应用运行时定期监控内存使用情况&#xff0c;使用 Swift 编写代码并结合必要的工具和库。 1. 创建桥接头文件 首先&…

线程安全的原因及解决方法

什么是线程安全问题 线程安全问题指的是在多线程编程环境中&#xff0c;由于多个线程共享数据或资源&#xff0c;并且这些线程对共享数据或资源的访问和操作没有正确地同步&#xff0c;导致数据的不一致、脏读、不可重复读、幻读等问题。线程安全问题的出现&#xff0c;通常是…

论文略读:Can Long-Context Language Models Subsume Retrieval, RAG, SQL, and More?

202406 arxiv 1 intro 传统上&#xff0c;复杂的AI任务需要多个专门系统协作完成。 这类系统通常需要独立的模块来进行信息检索、问答和数据库查询等任务大模型时代&#xff0c;尤其是上下文语言模型&#xff08;LCLM&#xff09;时代&#xff0c;上述问题可以“一体化”完成…

MybatisX插件的简单使用教程

搜索mybatis 开始生成 module path&#xff1a;当前项目 base package:生成的包名&#xff0c;建议先独立生成一个&#xff0c;和你原本的项目分开 encoding&#xff1a;编码&#xff0c;建议UTF-8 class name strategy&#xff1a;命名选择 推荐选择camel&#xff1a;驼峰命…

ROS——多个海龟追踪一个海龟实验

目标 通过键盘控制一个海龟&#xff08;领航龟&#xff09;的移动&#xff0c;其余生成的海龟通过监听实现追踪定期获取领航龟和其余龟的坐标信息&#xff0c;通过广播告知其余龟&#xff0c;进行相应移动其余龟负责监听 疑惑点&#xff08;已解决&#xff09; int main(int…

【网络安全】实验四(网络扫描工具的使用)

一、本次实验的实验目的 &#xff08;1&#xff09;掌握使用端口扫描器的技术&#xff0c;了解端口扫描器的原理 &#xff08;2&#xff09;会用Wireshark捕获数据包&#xff0c;并对捕获的数据包进行简单的分析 二、搭配环境 打开两台虚拟机&#xff0c;并参照下图&#xff…

k8s+docker集群整合搭建(完整版)

一、Kubernetes系列之介绍篇 1、背景介绍 云计算飞速发展 IaaS PaaS SaaS Docker技术突飞猛进 一次构建&#xff0c;到处运行 容器的快速轻量 完整的生态环境 2、什么是kubernetes 首先&#xff0c;他是一个全新的基于容器技术的分布式架构领先方案。Kubernetes(k8s)是Goog…

磐维2.0数据库日常维护

磐维数据库简介 “中国移动磐维数据库”&#xff08;ChinaMobileDB&#xff09;&#xff0c;简称“磐维数据库”&#xff08;PanWeiDB&#xff09;。是中国移动信息技术中心首个基于中国本土开源数据库打造的面向ICT基础设施的自研数据库产品。 其产品内核能力基于华为 OpenG…

001uboot体验

1.uboot的作用&#xff1a; 上电->uboot启动->关闭看门狗、初始化时钟、sdram、uart等外设->把内核文件从flash读取到SDRAM->引导内核启动->挂载根文件系统->启动根文件系统的应用程序 2.uboot编译 uboot是一个通用的裸机程序&#xff0c;为了适应各种芯片&…

注意力机制 attention Transformer 笔记

动手学深度学习 这里写自定义目录标题 注意力加性注意力缩放点积注意力多头注意力自注意力自注意力缩放点积注意力&#xff1a;案例Transformer 注意力 注意力汇聚的输出为值的加权和 查询的长度为q&#xff0c;键的长度为k&#xff0c;值的长度为v。 q ∈ 1 q , k ∈ 1 k …

现场Live震撼!OmAgent框架强势开源!行业应用已全面开花

第一个提出自动驾驶并进行研发的公司是Google&#xff0c;巧的是&#xff0c;它发布的Transformer模型也为今天的大模型发展奠定了基础。 自动驾驶已经完成从概念到现实的华丽转变&#xff0c;彻底重塑了传统驾车方式&#xff0c;而大模型行业正在经历的&#xff0c;恰如自动驾…