最新资讯

  • [Linux]虚拟地址到物理地址的转化

[Linux]虚拟地址到物理地址的转化

2025-05-10 02:00:50 1 阅读

[Linux]虚拟地址到物理地址的转化
@水墨不写bug



文章目录

  • 一、再次认识地址空间
  • 二、页表
    • 1、页表的结构设计
    • 2、页表节省了空间,省在哪里?
    • 3、页表的物理实现


一、再次认识地址空间

OS和磁盘交互的内存基本单位是4KB,这4KB通常被称为内存块OS对内存管理的粒度精确到块——4KB为单位。而与之相对的,用户对内存管理的粒度精确到1byte。在物理内存上,每一个块都有自己的地址——逻辑块地址Logical Block Address)。
这里的块,和文件数据存储的块的大小是相同的。OS管理的不是连续的物理内存,物理地址被划分为4KB为单位的块,OS通过管理这些块,间接管理内存。想要管理好这些块,需要先描述,再组织。在内核中,每一个块通过一个结构体来管理:

struct page {
    unsigned long flags;          // 页状态标志位(核心字段)
    union {
        struct {                  // 页缓存/匿名页的通用字段
            struct list_head lru; // LRU链表(用于页回收)
            void *mapping;        // 关联的地址空间(文件或匿名)
            pgoff_t index;        // 页在映射中的偏移或交换槽索引
            unsigned long private;// 私有数据(用途因场景而异)
        };
        struct {                  // Slab分配器专用字段
            union {
                struct list_head slab_list;
                struct {         // Partial页链表(用于slab)
                    struct page *next;
                    int pages;   // 当前slab的剩余页数
                    int pobjects; // 剩余对象数
                };
            };
            struct kmem_cache *slab_cache; // 所属的slab缓存
            void *freelist;       // 空闲对象链表
            union {
                void *s_mem;      // slab第一个对象的地址
                unsigned long counters; // 引用计数和状态
            };
        };
        // 其他联合体分支(如设备页、大页等)
    };
    atomic_t _refcount;           // 引用计数
    atomic_t _mapcount;           // 页表映射计数
    unsigned long compound_head;  // 复合页(大页)的头页
    unsigned int compound_order;   // 复合页的阶数(2^order页)
    // ... 其他体系结构相关字段
};

一整个物理内存,有4GB,共1048576个4KB,通过结构体数组来管理:

struct page memory[1048576];//每一个page都有下标

struct page内部都有哪些字段?分别有什么作用?
(1)_refcount-引用计数,表面这个page被多少个进程共享。如果多个进程共享这个page,一旦出现修改数据,需要进行写时拷贝。
(2)unsigned long flags-标记,32位标识,表面这个页的属性:是否有效,是否是脏页,是否被占用,是否被锁定。
(3)lru-将页连接到最近最少使用(LRU) 链表,用于页回收(如kswapd)。LRU_ACTIVE:活跃页链表(近期被访问过)。LRU_INACTIVE:非活跃页链表(候选回收页)。


内存中的4KB被称为页框文件数据的4KB被称为页帧

同时4KB的大小也方便了内存和磁盘进行存取以块为单位的文件数据。内存和磁盘进行IO的基本单位理所当然就是4KB。
考虑下面的这几个例子:

  • (1)即使内存暂时只需要1byte数据,OS也会直接把这1byte所在的4KB直接加载到内存。
  • (2)父子进程对于只读数据,是共享的;对于任意一方修改了一个全局变量,会发生写时拷贝OS实际上不是仅仅拷贝了一个变量的大小,而是拷贝了这个变量所在的页框(4KB)。
  • (3)malloc进行申请空间的时候–malloc(10),底层不是只申请了10字节空间,而是4KB,多余的空间就交给了malloc函数进行维护。
  • (4)共享内存的大小最好就是4KB(4096bytes)的整数倍,如果申请4097bytes,则实际申请了8KB,但是我们用户能够使用的大小仅仅是4097bytes—这就造成了空间的浪费。(OS保守起见,多申请的空间不给我们使用
  • (5)page可作为文件的内核级缓冲区,是通过字典树来把page排序,使得存储在不同的page内的文件可以方便的恢复。

根据局部性原理这个时间点使用了这1byte,在后续时间点很有可能会使用这1byte附近的数据。 对一个全局变量修改了,很有可能以后要对附近的数据进行修改。所以拷贝4KB是合理的。申请内存一次性申请4KB也是用到了池化思想,提高了效率


二、页表

1、页表的结构设计

页表是一个把进程虚拟地址转化为物理地址的结构。在x86体系下,物理地址有4GB(2的32次方),如果按照通常的一对一的映射,一个4字节的虚拟地址映射一个4字节的物理地址,一共需要的内存比实际拥有的内存还要多,这十分不合理。所以页表的映射不是简单的一对一映射。

在x86体系结构下,一个虚拟地址有32位,这个虚拟地址被分为 10 + 10 + 12

前10位 用于在页目录内部索引,中间10位用于在页表中索引,后12位用于在一个页框内偏移:

这样,我任何一个虚拟地址,都可以通过页表的机制,找到对应的物理地址!

在C/C++中,为什么只要获取一个变量的首地址就能够成功访问这个变量?

因为这个变量还有对应的类型
访问一个变量,需要首先获取虚拟地址,通过上述的转换机制,把虚拟地址1字节转换到物理地址具体某字节的地址。此外,变量类型在语言层面就告诉了编译器,编译器会编译生成对应的汇编语句:

考虑下面这些语句:

int x = 1234;
int y = *(&x);  // 通过首字节地址读取值

//对应的汇编语句可能就是
mov eax, [0x1000]  ; 从地址 0x1000 开始读取 4 字节到寄存器 eax
mov [0x2000], eax  ; 将 eax 的值存储到地址 0x2000

mov eax, [0x1000]:处理器根据地址 0x1000 开始读取 4 字节(因为 eax 是 4 字节寄存器)。汇编层面会根据指令和寄存器的大小,自动决定读取的数据宽度。


2、页表节省了空间,省在哪里?

如果没有页表,直接一个物理地址对应一个虚拟地址这样映射,页表需要占用的空间就是(以x86为例,一个地址占用的空间为4bytes)(4+4)*4GB = 32GB,需要存储页表的空间就已经超过的整机的物理空间大小,显然不合理。
页表实际的大小为 页目录(4KB) + 所有页表(4KB * 1024)
4KB+4MB=4100KB = 4.00390625MB
通过上面的计算,实际上就可以通过近乎4MB的空间大小来实现整个页表结构。于是就把原来的32GB压缩到了4MB。


3、页表的物理实现

实际上CPU内部内置了MMU。MMU(内存管理单元,Memory Management Unit) 是计算机硬件中的一个核心组件,通常集成在 CPU 中,主要负责管理内存访问和地址转换
上述的页表的转换流程就是MMU的工作流程。
CPU引入MMU后,读取指令、数据需要访问两次内存:首先通过PC指针读取下一条指针的虚拟地址,虚拟地址需要通过查询页表得到物理地址,然后访问该物理地址读取指令、数据。为了减少因为频繁查页表导致的CPU性能下降,MMU引入了TLB,TLB(Translation Lookaside Buffer)可翻译为“地址转换后援缓冲器”。TLB就是页表的Cache,其中存储了当前最可能(最近)被访问到的页表项,其内容是部分页表项的一个副本。只有在TLB无法完成地址翻译任务时,才会到内存中查询页表,这样就减少了页表查询导致的处理器性能下降。


对整体过程而言:

虚拟到物理地址转换的详细流程:

CPU通过PC指针获取下条指令的虚拟地址,访问MMU查询TLB里面是否已经缓存了此次虚拟到物理的映射?如果是,则转换结束;如果否,则需要访问页表。通过CR3寄存器获取页表物理地址,通过分级映射查找获取物理地址,并同时把此次访问的虚拟到物理的映射缓存到TLB,方便后续的再次映射(如果是循环逻辑,则后续访问都不需要再次查页表,十分高效)。


完~

本文地址:https://www.vps345.com/9562.html

搜索文章

Tags

PV计算 带宽计算 流量带宽 服务器带宽 上行带宽 上行速率 什么是上行带宽? CC攻击 攻击怎么办 流量攻击 DDOS攻击 服务器被攻击怎么办 源IP 服务器 linux 运维 游戏 云计算 docker 容器 java-rabbitmq java 服务器安全 网络安全策略 防御服务器攻击 安全威胁和解决方案 程序员博客保护 数据保护 安全最佳实践 deepseek DeepSeek-R1 API接口 Deepseek Deepseek-R1 大模型 私有化部署 推理模型 RTSP xop RTP RTSPServer 推流 视频 网络工程师 网络管理 软考 2024 2024年上半年 下午真题 答案 进程 操作系统 进程控制 Ubuntu CH340 单片机 嵌入式硬件 串口驱动 CH341 uart 485 Ollama Qwen2.5-coder 离线部署 物联网 ubuntu 英语 pycharm ide android harmonyos typescript 鸿蒙 fastapi mcp mcp-proxy mcp-inspector fastapi-mcp agent sse 智能路由器 网络 外网访问 内网穿透 端口映射 nginx 负载均衡 macos windows conda DNS php 开发语言 javascript 前端 chrome edge llama 算法 opencv 自然语言处理 神经网络 语言模型 模型联网 API CherryStudio debian PVE django YOLO 网络结构图 jvm 虚拟机 cron crontab日志 数据库系统 vue.js spring boot python MCP zotero WebDAV 同步失败 代理模式 USB转串口 数据分析 机器学习 人工智能 计算机视觉 word图片自动上传 word一键转存 复制word图片 复制word图文 复制word公式 粘贴word图文 粘贴word公式 深度学习 卷积神经网络 centos node.js 阿里云 网络安全 网络协议 开发环境 ssh tcp/ip ip协议 jellyfin nas C# MQTTS 双向认证 emqx pip 数据库 oracle 关系型 安全 分布式 kafka udp 本地环回 bind 媒体 https 笔记 C 环境变量 进程地址空间 redis postman 测试工具 outlook 错误代码2603 无网络连接 2603 AIGC agi 华为 HarmonyOS Next vSphere vCenter 软件定义数据中心 sddc 科技 ai 个人开发 json eureka CPU 内存 主板 电源 网卡 大语言模型 LLMs Dify 游戏引擎 学习 高级IO epoll ue4 着色器 ue5 虚幻 gitee iftop 网络流量监控 kubernetes prometheus grafana 云原生 计算机外设 bug nlp 策略模式 c++ c语言 IM即时通讯 QQ 微信 企业微信 剪切板对通 HTML FORMAT vr mcu gnu 进程优先级 调度队列 进程切换 matplotlib fonts-noto-cjk fstab 电脑 mac 软件需求 计算机网络 vnc vscode 安装教程 GPU环境配置 Ubuntu22 CUDA PyTorch Anaconda安装 c# 多层架构 解耦 微信分享 Image wxopensdk websocket dubbo 面试 ssh漏洞 ssh9.9p2 CVE-2025-23419 openvpn server openvpn配置教程 centos安装openvpn 大数据 spark hive gcc centos 7 pytorch transformer 经验分享 qt QT 5.12.12 QT开发环境 Ubuntu18.04 并查集 leetcode apache 集成学习 集成测试 ubuntu 18.04 架构 etcd 数据安全 RBAC perf jenkins windows 服务器安装 .netcore mysql adb 课程设计 虚拟现实 rust腐蚀 ssl ddos html 宝塔面板访问不了 宝塔面板网站访问不了 宝塔面板怎么配置网站能访问 宝塔面板配置ip访问 宝塔面板配置域名访问教程 宝塔面板配置教程 像素流送api 像素流送UE4 像素流送卡顿 像素流送并发支持 audio vue音乐播放器 vue播放音频文件 Audio音频播放器自定义样式 播放暂停进度条音量调节快进快退 自定义audio覆盖默认样式 numpy kylin bash gateway Clion Nova ResharperC++引擎 Centos7 远程开发 VMware安装mocOS VMware macOS系统安装 virtualenv dify ragflow react.js 前端面试题 持续部署 思科 嵌入式 linux驱动开发 arm开发 tomcat 快捷键 旋转屏幕 自动操作 tar uni-app 数据结构 链表 Linux PID 编辑器 vim hadoop MacOS录屏软件 remote-ssh flutter Google pay Apple pay sublime text filezilla 无法连接服务器 连接被服务器拒绝 vsftpd 331/530 asm 学习方法 后端 web安全 unity GameFramework HybridCLR Unity编辑器扩展 自动化工具 性能优化 github onlyoffice oceanbase 传统数据库升级 银行 多线程服务器 Linux网络编程 Hyper-V WinRM TrustedHosts DevEco Studio opengl 多线程 统信UOS 麒麟 bonding 链路聚合 ollama 缓存 灵办AI WSL2 Ubuntu22.04 虚拟化 开发人员主页 驱动开发 硬件工程 嵌入式实习 GCC aarch64 编译安装 HPC burp suite 抓包 axure 富文本编辑器 cursor Kylin-Server 国产操作系统 服务器安装 Docker Hub docker pull 镜像源 daemon.json Linux 开源 Cline 电子信息 通信工程 stm32 信息与通信 毕业 DeepSeek Mermaid 可视化图表 自动化生成 华为认证 交换机 MS Materials Linux 维护模式 自动化 Agent LLM CrewAI shell 磁盘监控 iot ESXi SRS 流媒体 直播 pillow efficientVIT YOLOv8替换主干网络 TOLOv8 live555 rtsp rtp armbian u-boot ffmpeg 音视频 视频编解码 毕设 小程序 微信小程序域名配置 微信小程序服务器域名 微信小程序合法域名 小程序配置业务域名 微信小程序需要域名吗 微信小程序添加域名 监控k8s集群 集群内prometheus jar gradle RustDesk自建服务器 rustdesk服务器 docker rustdesk AI编程 oracle fusion oracle中间件 软件测试 svn vue3 HTML audio 控件组件 vue3 audio音乐播放器 Audio标签自定义样式默认 vue3播放音频文件音效音乐 自定义audio播放器样式 播放暂停调整声音大小下载文件 聚类 EtherCAT转Modbus ECT转Modbus协议 EtherCAT转485网关 ECT转Modbus串口网关 EtherCAT转485协议 ECT转Modbus网关 ip chatgpt llama3 Chatglm 开源大模型 spring cloud compose powerpoint maven Flask FastAPI Waitress Gunicorn uWSGI Uvicorn 华为云 人工智能生成内容 ui 华为od stm32项目 命名管道 客户端与服务端通信 burpsuite 安全工具 mac安全工具 burp安装教程 渗透工具 openstack Xen KVM nftables 防火墙 rust http AI大模型 大模型技术 本地部署大模型 unix rtsp服务器 rtsp server android rtsp服务 安卓rtsp服务器 移动端rtsp服务 大牛直播SDK 私有化 本地部署 实时音视频 实时互动 express p2p 虚拟局域网 Alexnet 远程连接 rdp 实验 ESP32 tcpdump kali 共享文件夹 系统 黑苹果 AI 大模型应用 浪潮信息 AI服务器 dell服务器 alias unalias 别名 3d 数学建模 服务器无法访问 ip地址无法访问 无法访问宝塔面板 宝塔面板打不开 ROS 自动驾驶 Linux24.04 deepin 能力提升 面试宝典 技术 IT信息化 Web应用服务器 中间件 selenium 网络爬虫 软件工程 软件构建 交互 seatunnel 腾讯云大模型知识引擎 llm 交叉编译 glibc golang openEuler VMware安装Ubuntu Ubuntu安装k8s k8s 产测工具框架 IMX6ULL 管理框架 openssl 密码学 iperf3 带宽测试 部署 混合开发 环境安装 JDK 云原生开发 K8S k8s管理系统 visual studio code zabbix mariadb 僵尸进程 GaN HEMT 氮化镓 单粒子烧毁 辐射损伤 辐照效应 Invalid Host allowedHosts vue 腾讯云 Hive环境搭建 hive3环境 Hive远程模式 cuda cudnn anaconda 区块链 springboot远程调试 java项目远程debug docker远程debug java项目远程调试 springboot远程 Reactor 设计模式 C++ 客户端 java-ee 大数据平台 springsecurity6 oauth2 授权服务器 前后端分离 .net core .net flask rc.local 开机自启 systemd lio-sam SLAM vite 目标检测 YOLOv12 protobuf 序列化和反序列化 安装 sqlserver xcode webstorm 豆瓣 追剧助手 迅雷 intellij-idea rustdesk HiCar CarLife+ CarPlay QT RK3588 前端框架 ubuntu20.04 ros ros1 Noetic 20.04 apt 安装 CNNs 图像分类 lvm 磁盘挂载 磁盘分区 游戏程序 ios xml css html5 firefox 互信 n8n 工作流 workflow Ark-TS语言 ROS2 读写锁 IPMI 远程工作 harmonyOS面试题 ocr 系统架构 arcgis 计算生物学 生物信息学 生物信息 基因组 SSH Xterminal jmeter HCIE 数通 虚拟显示器 远程控制 spring 微服务 程序人生 rag ragflow 源码启动 个人博客 mongodb Docker快速入门 联网 easyconnect 代理 nfs gpt 匿名管道 notepad springcloud DevOps 软件交付 数据驱动 应用场景 nvidia gpu算力 pygame 网易邮箱大师 运维开发 漏洞 OpenManus 云桌面 微软 AD域控 证书服务器 产品经理 microsoft Kali Linux 黑客 渗透测试 信息收集 进程信号 AI-native Docker Desktop Chatbox 银河麒麟 kylin v10 麒麟 v10 指令 jupyter yolov5 mq rabbitmq rocketmq LDAP 服务器繁忙 ruoyi jdk Doris搭建 docker搭建Doris Doris搭建过程 linux搭建Doris Doris搭建详细步骤 Doris部署 WebRTC ollama下载加速 openwrt intellij idea 代码调试 ipdb rpc CentOS Stream CentOS devops springboot aws 设置代理 实用教程 vasp安装 大模型部署 离线部署dify NFS redhat 权限 压力测试 pdf 自动化任务管理 iis 职场和发展 命令行 基础入门 编程 NPS 雨云服务器 雨云 MQTT协议 消息服务器 代码 zip unzip WebUI DeepSeek V3 创意 社区 蓝桥杯 VMware创建虚拟机 源码剖析 rtsp实现步骤 流媒体开发 WSL2 上安装 Ubuntu 知识库 本地化部署 直播推流 UEFI Legacy MBR GPT U盘安装操作系统 log4j edge浏览器 AI写作 prompt 大模型入门 大模型教程 Redis Desktop wsl 硬件架构 计算机 FTP 服务器 统信 虚拟机安装 qps 高并发 kind 串口服务器 rclone AList webdav fnOS ip命令 新增网卡 新增IP 启动网卡 安卓 图形化界面 中兴光猫 换光猫 网络桥接 自己换光猫 gitlab 系统安全 向日葵 DigitalOcean GPU服务器购买 GPU服务器哪里有 GPU服务器 sql 程序员 大文件分片上传断点续传及进度条 如何批量上传超大文件并显示进度 axios大文件切片上传详细教 node服务器合并切片 vue3大文件上传报错提示错误 大文件秒传跨域报错cors 鸿蒙系统 Trae IDE AI 原生集成开发环境 Trae AI 压测 ECS yum docker-compose docker compose kvm Linux的权限 flash-attention 报错 camera Arduino vmware 卡死 大模型微调 arm WLAN elasticsearch rancher oneapi 网卡的名称修改 eth0 ens33 list 爬虫 数据集 域名服务 DHCP 符号链接 配置 trae 机器人 okhttp 可信计算技术 visualstudio 话题通信 服务通信 Windsurf rime go scapy 双系统 模拟实现 WSL win11 无法解析服务器的名称或地址 回显服务器 UDP的API使用 git gitea 5G 3GPP 卫星通信 Wi-Fi 网络药理学 生信 gromacs 分子动力学模拟 MD 动力学模拟 无人机 流式接口 postgresql TCP WebServer MacMini Mac 迷你主机 mini Apple KylinV10 麒麟操作系统 Vmware database UOS 统信操作系统 自动化编程 linux内核 xrdp 远程桌面 ai小智 语音助手 ai小智配网 ai小智教程 智能硬件 esp32语音助手 diy语音助手 iBMC UltraISO ros2 moveit 机器人运动 CPU 使用率 系统监控工具 linux 命令 Dell R750XS gpt-3 文心一言 环境配置 安卓模拟器 telnet 远程登录 实战案例 webrtc 主从复制 Docker引擎已经停止 Docker无法使用 WSL进度一直是0 镜像加速地址 MCP server C/S 内网渗透 靶机渗透 温湿度数据上传到服务器 Arduino HTTP cpu 实时 使用 低代码 数据挖掘 网络用户购物行为分析可视化平台 大数据毕业设计 1024程序员节 服务器扩容没有扩容成功 智能手机 矩阵 top Linux top top命令详解 top命令重点 top常用参数 docker搭建pg docker搭建pgsql pg授权 postgresql使用 postgresql搭建 ipython windwos防火墙 defender防火墙 win防火墙白名单 防火墙白名单效果 防火墙只允许指定应用上网 防火墙允许指定上网其它禁止 工业4.0 docker搭建nacos详解 docker部署nacos docker安装nacos 腾讯云搭建nacos centos7搭建nacos maxkb ARG ArcTS 登录 ArcUI GridItem KingBase YOLOv8 NPU Atlas800 A300I pro asi_bench 工具分享 RAID RAID技术 磁盘 存储 Cursor 程序 性能分析 mount挂载磁盘 wrong fs type LVM挂载磁盘 Centos7.9 程序员创富 nvm milvus 政务 分布式系统 监控运维 Prometheus Grafana 王者荣耀 NAS Termux Samba android studio centos-root /dev/mapper yum clean all df -h / du -sh 常用命令 文本命令 目录命令 mock mock server 模拟服务器 mock服务器 Postman内置变量 Postman随机数据 小游戏 五子棋 迁移指南 宝塔面板无法访问 Ubuntu20.04 GLIBC 2.35 ecmascript googlecloud nuxt3 su sudo sudo原理 su切换 IIS Hosting Bundle .NET Framework vs2022 wireshark IIS服务器 IIS性能 日志监控 半虚拟化 硬件虚拟化 Hypervisor 金融 micropython esp32 mqtt 显示器 目标跟踪 OpenVINO 推理应用 服务器配置 langchain deep learning 服务器管理 宝塔面板 配置教程 网站管理 计算机科学与技术 mysql离线安装 ubuntu22.04 mysql8.0 源码 毕业设计 sqlite VMware Tools vmware tools安装 vmwaretools安装步骤 vmwaretools安装失败 vmware tool安装步骤 vm tools安装步骤 vm tools安装后不能拖 vmware tools安装步骤 沙盒 EtherNet/IP串口网关 EIP转RS485 EIP转Modbus EtherNet/IP网关协议 EIP转RS485网关 EIP串口服务器 MQTT mosquitto 消息队列 seleium chromedriver 自动化测试 r语言 数据可视化 JAVA Java 开发 命令 mamba Vmamba yolov8 umeditor粘贴word ueditor粘贴word ueditor复制word ueditor上传word图片 ueditor导入word ueditor导入pdf ueditor导入ppt hibernate CLion kamailio sip VoIP grep 银河麒麟高级服务器 外接硬盘 Kylin 国产化 京东云 W5500 OLED u8g2 TCP服务器 chfs ubuntu 16.04 mybatis 云电竞 云电脑 todesk 同步 备份 建站 chrome 浏览器下载 chrome 下载安装 谷歌浏览器下载 Carla 智能驾驶 Java Applet URL操作 服务器建立 Socket编程 网络文件读取 安全威胁分析 玩机技巧 软件分享 软件图标 ukui 麒麟kylinos openeuler nacos 软负载 多进程 强制清理 强制删除 mac废纸篓 EMQX 通信协议 微信小程序 Node-Red 编程工具 流编程 unity3d 网络穿透 云服务器 功能测试 VPS Nuxt.js frp 内网服务器 内网代理 内网通信 生活 恒源云 samba 安装MySQL 小智 致远OA OA服务器 服务器磁盘扩容 桌面环境 图片增强 增强数据 上传视频至服务器代码 vue3批量上传多个视频并预览 如何实现将本地视频上传到网页 element plu视频上传 ant design vue vue3本地上传视频及预览移除 OD机试真题 华为OD机试真题 服务器能耗统计 firewalld excel 在线预览 xlsx xls文件 在浏览器直接打开解析xls表格 前端实现vue3打开excel 文件地址url或接口文档流二进 CORS 跨域 飞牛NAS 飞牛OS MacBook Pro 飞书 dns 邮件APP 免费软件 安全架构 网络攻击模型 GPU 智能音箱 智能家居 IPMITOOL BMC 硬件管理 SSH 密钥生成 SSH 公钥 私钥 生成 玩游戏 react next.js 部署next.js cmos 硬件 Cookie ShenTong 重启 排查 系统重启 日志 原因 asp.net大文件上传 asp.net大文件上传下载 asp.net大文件上传源码 ASP.NET断点续传 asp.net上传文件夹 asp.net上传大文件 .net core断点续传 Ubuntu 22.04 MySql 算家云 算力租赁 开机自启动 繁忙 解决办法 替代网站 汇总推荐 AI推理 监控 自动化运维 安防软件 Portainer搭建 Portainer使用 Portainer使用详解 Portainer详解 Portainer portainer 国产数据库 瀚高数据库 数据迁移 下载安装 wsgiref Web 服务器网关接口 飞牛nas fnos echarts 信息可视化 网页设计 Ubuntu共享文件夹 共享目录 Linux共享文件夹 npm yum源切换 更换国内yum源 bot Docker ci/cd 代码规范 AISphereButler make命令 makefile文件 高效远程协作 TrustViewer体验 跨设备操作便利 智能远程控制 shell脚本免交互 expect linux免交互 浏览器自动化 宝塔 隐藏文件 隐藏目录 文件系统 管理器 通配符 neo4j 知识图谱 Windows ai工具 java-rocketmq Jellyfin 版本 系统开发 binder 车载系统 framework 源码环境 大屏端 TrueLicense miniapp 真机调试 调试 debug 断点 网络API请求调试方法 h.264 visual studio 具身智能 强化学习 软件 黑客技术 fpga开发 web3.py eclipse 热榜 图像处理 pyqt llamafactory 微调 Qwen 路径解析 stable diffusion AI作画 ux open Euler dde 端口号 开放端口 访问列表 智慧农业 开源鸿蒙 团队开发 磁盘清理 跨平台 服务器主板 AI芯片 Attention NLP 办公自动化 pdf教程 ansible 框架搭建 adobe vu大文件秒传跨域报错cors Python 网络编程 聊天服务器 套接字 Socket 升级 CVE-2024-7347 docker部署翻译组件 docker部署deepl docker搭建deepl java对接deepl 翻译组件使用 AutoDL linux 命令 sed 命令 string模拟实现 深拷贝 浅拷贝 经典的string类问题 三个swap 游戏服务器 TrinityCore 魔兽世界 相机 bcompare Beyond Compare 模拟器 教程 code-server pyautogui 群晖 文件分享 视觉检测 token sas dba 医疗APP开发 app开发 Linux无人智慧超市 LInux多线程服务器 QT项目 LInux项目 单片机项目 sqlite3 rsyslog 机柜 1U 2U 高效日志打印 串口通信日志 服务器日志 系统状态监控日志 异常记录日志 vpn Xinference open webui 服务器数据恢复 数据恢复 存储数据恢复 raid5数据恢复 磁盘阵列数据恢复 远程看看 远程协助 银河麒麟操作系统 推荐算法 minicom 串口调试工具 fd 文件描述符 蓝耘科技 元生代平台工作流 ComfyUI risc-v RAGFlow ruby 远程过程调用 Windows环境 HarmonyOS Tabs组件 TabContent TabBar TabsController 导航页签栏 滚动导航栏 三级等保 服务器审计日志备份 linux安装配置 HistoryServer Spark YARN jobhistory 云耀服务器 matlab 信号处理 bootstrap nextjs reactjs Mac内存不够用怎么办 apt 国内源 tcp React Next.js 开源框架 virtualbox DocFlow 孤岛惊魂4 k8s集群资源管理 单元测试 上传视频文件到服务器 uniApp本地上传视频并预览 uniapp移动端h5网页 uniapp微信小程序上传视频 uniapp app端视频上传 uniapp uview组件库 AD域 cmake RTMP 应用层 Open WebUI 高德地图 鸿蒙接入高德地图 HarmonyOS5.0 zerotier 换源 Debian 监控k8s 监控kubernetes IMM safari RoboVLM 通用机器人策略 VLA设计哲学 vlm fot robot 视觉语言动作模型 CosyVoice windows日志 华为证书 HarmonyOS认证 华为证书考试 软件卸载 系统清理 opcua opcda KEPServer安装 DOIT 四博智联 thingsboard iDRAC R720xd 大模型面经 大模型学习 AnythingLLM AnythingLLM安装 fork wait waitpid exit ebpf uprobe 树莓派 VNC SSE 工具 WebVM netty Qualcomm WoS QNN AppBuilder 流水线 脚本式流水线 ufw 智能电视 C语言 python2 ubuntu24.04 FunASR ASR file server http server web server dash 正则表达式 分析解读 wordpress 无法访问wordpess后台 打开网站页面错乱 linux宝塔面板 wordpress更换服务器 支付 微信支付 开放平台 状态管理的 UDP 服务器 Arduino RTOS ftp curl wget 硅基流动 ChatBox 其他 USB网络共享 EasyConnect 镜像下载 freebsd ssh远程登录 threejs 3D 虚幻引擎 进程程序替换 execl函数 execv函数 execvp函数 execvpe函数 putenv函数 PX4 SenseVoice elk css3 ssrf 失效的访问控制 FTP服务器 执法记录仪 智能安全帽 smarteye vscode1.86 1.86版本 ssh远程连接 RAGFLOW 小艺 Pura X Kali 渗透 docker run 数据卷挂载 交互模式 Ardupilot 嵌入式系统开发 selete MNN 大版本升 升级Ubuntu系统 SSL证书 HP Anyware scikit-learn 备份SQL Server数据库 数据库备份 傲梅企业备份网络版 远程服务 es6 qt6.3 g726 深度优先 图论 并集查找 换根法 树上倍增 搜索引擎 llama.cpp 环境迁移 trea idea 网络文件系统 免密 公钥 私钥 环境搭建 Maven dity make kernel 显示过滤器 ICMP Wireshark安装 linux环境变量 odoo 服务器动作 Server action deepseek-r1 大模型本地部署 gaussdb k8s资源监控 annotations自动化 自动化监控 监控service 监控jvm Linux Vim 序列化反序列化 开机黑屏 searxng 测试用例 .net mvc断点续传 export import save load 迁移镜像 netlink libnl3 单例模式 思科模拟器 Cisco Linux权限 权限命令 特殊权限 拓扑图 微信公众平台 playbook 剧本 VPN wireguard 蓝桥杯C++组 keepalived muduo sublime text3 远程 执行 sshpass 操作 键盘 线程 数据仓库 数据库开发 数据库架构 银河麒麟服务器操作系统 系统激活 视频平台 录像 视频转发 性能测试 视频流 P2P HDLC 一切皆文件 linux上传下载 AP配网 AK配网 小程序AP配网和AK配网教程 WIFI设备配网小程序UDP开 arkUI TRAE Playwright 博客 Linux awk awk函数 awk结构 awk内置变量 awk参数 awk脚本 awk详解 显示管理器 lightdm gdm uv 信号 服务器部署 本地拉取打包 grub 版本升级 扩容 直流充电桩 充电桩 微信开放平台 微信公众号配置 空间 查错 Mac软件 Ubuntu DeepSeek DeepSeek Ubuntu DeepSeek 本地部署 DeepSeek 知识库 DeepSeek 私有化知识库 本地部署 DeepSeek DeepSeek 私有化部署 conda配置 conda镜像源 弹性计算 裸金属服务器 弹性裸金属服务器 AI代码编辑器 wps web 设备 PCI-Express 深度求索 私域 DeepSeek行业应用 Heroku 网站部署 kotlin iphone python3.11 毕昇JDK Web服务器 多线程下载工具 PYTHON 7z 稳定性 看门狗 游戏机 rnn 显卡驱动 sdkman SWAT 配置文件 服务管理 网络共享 容器技术 边缘计算 jina IPv4 子网掩码 公网IP 私有IP wsl2 prometheus数据采集 prometheus数据模型 prometheus特点 DBeaver kerberos 算力 composer 底层实现 高效I/O pppoe radius pgpool qt项目 qt项目实战 qt教程 业界资讯 模拟退火算法 k8s二次开发 集群管理 regedit 开机启动 田俊楠 国标28181 视频监控 监控接入 语音广播 流程 SIP SDP Linux的基础指令 鲲鹏 昇腾 npu WINCC clickhouse 代码托管服务 电路仿真 multisim 硬件工程师 硬件工程师学习 电路图 电路分析 仪器仪表 pyside6 界面 webgl embedding NVML nvidia-smi 考研 iNode Macos 在线office UOS1070e 论文阅读 小智AI服务端 xiaozhi TTS laravel System V共享内存 进程通信 IO模型 ping++ deepseak 豆包 KIMI 腾讯元宝 termux ubuntu24.04.1 xfce perl NLP模型 自学笔记 小米 澎湃OS Android 端口 查看 ss Ubuntu Server Ubuntu 22.04.5 Claude Desktop Claude MCP Windows Cli MCP chromium dpi 魔百盒刷机 移动魔百盒 机顶盒ROM 网络原理 minio hosts AI Agent 字节智能运维 H3C cnn uniapp web3 fast 大模型训练/推理 推理问题 mindie 弹性服务器 diskgenius ArkUI ArkTS 移动端开发 DIFY Kylin OS deepseek r1 XCC Lenovo wpf 移动云 WireGuard 异地组网 CDN MDK 嵌入式开发工具 论文笔记 easyui 运维监控 端口测试 mcp服务器 client close word Headless Linux IO zookeeper SSL 域名 beautifulsoup 音乐服务器 Navidrome 音流 HarmonyOS NEXT 原生鸿蒙 分子对接 autodock mgltools PDB PubChem EVE-NG DeepSeek r1 配置原理 大大通 第三代半导体 碳化硅 健康医疗 分布式账本 智能合约 信任链 共识算法 ldap LORA 镜像 阻塞队列 生产者消费者模型 服务器崩坏原因 Netty openjdk LInux x64 SIGSEGV xmm0 macbook IP配置 netplan 免费域名 域名解析 URL autoware 项目部署到linux服务器 项目部署过程 api qt5 客户端开发 navicat 本地部署AI大模型 安全漏洞 信息安全 xpath定位元素 bat mysql安装报错 windows拒绝安装 基础环境 电脑桌面出现linux图标 电脑桌面linux图标删除不了 电脑桌面Liunx图标删不掉 linux图标删不掉 华为OD 可以组成网络的服务器 cpp-httplib opensearch helm MI300x MobaXterm 文件传输 新盘添加 partedUtil sysctl.conf vm.nr_hugepages docker部署Python crosstool-ng RAG 检索增强生成 文档解析 大模型垂直应用 管道 Xshell ShapeFile GeoJSON Nginx tidb k8s部署 MySQL8.0 高可用集群(1主2从) 云服务 Radius 软链接 硬链接 MAC SecureCRT 崖山数据库 YashanDB db SSH 服务 SSH Server OpenSSH Server DenseNet 搭建个人相关服务器 服务器部署ai模型 Anolis nginx安装 linux插件下载 物联网开发 qemu libvirt saltstack LVM lvresize 磁盘扩容 pvcreate CUPS 打印机 Qt5 MacOS 考试 EMUI 回退 降级 nohup 异步执行 swoole cd 目录切换 阿里云ECS ArkTs 无桌面 做raid 装系统 ubuntu24 vivado24 内网环境 VM搭建win2012 win2012应急响应靶机搭建 攻击者获取服务器权限 上传wakaung病毒 应急响应并溯源 挖矿病毒处置 应急响应综合性靶场 ELF加载 docker命令大全 联想开天P90Z装win10 tensorflow 多个客户端访问 IO多路复用 TCP相关API 宕机切换 服务器宕机 less tailscale derp derper 中转 triton 模型分析 小番茄C盘清理 便捷易用C盘清理工具 小番茄C盘清理的优势尽显何处? 教你深度体验小番茄C盘清理 C盘变红?!不知所措? C盘瘦身后电脑会发生什么变化? env 变量 网工 iTerm2 充电桩平台 充电桩开源平台 怎么卸载MySQL MySQL怎么卸载干净 MySQL卸载重新安装教程 MySQL5.7卸载 Linux卸载MySQL8.0 如何卸载MySQL教程 MySQL卸载与安装 Unity Dedicated Server Host Client 无头主机 数据管理 数据治理 数据编织 数据虚拟化 蓝牙 数码 联机 僵尸毁灭工程 游戏联机 开服 Helm k8s集群 lsb_release /etc/issue /proc/version uname -r 查看ubuntu版本 fiddler idm 历史版本 下载 etl 单一职责原则 vue-i18n 国际化多语言 vue2中英文切换详细教程 如何动态加载i18n语言包 把语言json放到服务器调用 前端调用api获取语言配置文件 Ubuntu 24 常用命令 Ubuntu 24 Ubuntu vi 异常处理 影刀 #影刀RPA# 全文检索 图搜索算法 实习 MAVROS 四旋翼无人机 powerbi 输入法 自定义客户端 SAS 反向代理 c/c++ 串口 XFS xfs文件系统损坏 I_O error es PPI String Cytoscape CytoHubba kubeless ftp服务 文件上传 华为机试 相差8小时 UTC 时间 日志分析 系统取证 iventoy VmWare OpenEuler 信创 信创终端 中科方德 开源软件 sentinel 增强现实 沉浸式体验 技术实现 案例分析 AR ollama api ollama外网访问 GoogLeNet c 用户缓冲区 GIS 遥感 WebGIS firewall 电视剧收视率分析与可视化平台 ceph Zoertier 内网组网 金仓数据库 2025 征文 数据库平替用金仓 Typore 技术共享 我的世界 我的世界联机 csrutil mac恢复模式进入方法 恢复模式 cocoapods glm4 我的世界服务器搭建 pyicu 内核 浏览器开发 AI浏览器 录音麦克风权限判断检测 录音功能 录音文件mp3播放 小程序实现录音及播放功能 RecorderManager 解决录音报错播放没声音问题 宠物 免费学习 宠物领养 宠物平台 极限编程 SysBench 基准测试 LLM Web APP Streamlit ecm bpm ISO镜像作为本地源 烟花代码 烟花 元旦 Erlang OTP gen_server 热代码交换 事务语义 Isaac Sim 虚拟仿真 技能大赛 多产物 Reactor反应堆 proxy模式 Minecraft dns是什么 如何设置电脑dns dns应该如何设置 xss 笔灵AI AI工具 Dell HPE 联想 浪潮 ECT转485串口服务器 ECT转Modbus485协议 ECT转Modbus串口服务器 Ubuntu 24.04.1 轻量级服务器 Claude eNSP 网络规划 VLAN 企业网络 VR手套 数据手套 动捕手套 动捕数据手套 copilot VSCode Office Apache Beam 批流统一 案例展示 数据分区 容错机制 网页服务器 web服务器 docker desktop av1 电视盒子 initramfs Linux内核 Grub 聊天室 localhost ajax AI agent v10 授时服务 北斗授时 whistle can 线程池 金仓数据库概述 金仓数据库的产品优化提案 sonoma 自动更新 X11 Xming xshell termius iterm2 飞牛 cfssl Docker Compose uni-file-picker 拍摄从相册选择 uni.uploadFile H5上传图片 微信小程序上传图片 抗锯齿 chrome devtools nac 802.1 portal 代理服务器 社交电子 互联网医院 GRUB引导 Linux技巧 动静态库 SEO 负载测试 AD 域管理 vscode 1.86 网站搭建 serv00 jetty undertow 游戏开发 磁盘镜像 服务器镜像 服务器实时复制 实时文件备份 banner NAT转发 NAT Server OpenHarmony lb 协议 MVS 海康威视相机 dock 加速 yaml Ultralytics 可视化 lighttpd安装 Ubuntu配置 Windows安装 服务器优化 语音识别 实时内核 备选 网站 调用 示例 银河麒麟桌面操作系统 nohup后台启动 linuxdeployqt 打包部署程序 appimagetool 图形渲染 PyQt PySide6 vmamba hugo 冯诺依曼体系 即时通信 NIO HTTP 服务器控制 ESP32 DeepSeek 查看显卡进程 fuser ArtTS 查询数据库服务IP地址 SQL Server 分布式训练 resolv.conf 行情服务器 股票交易 速度慢 切换 股票量化接口 股票API接口 webview 状态模式 哈希算法 进程间通信 终端 Echarts图表 折线图 柱状图 异步动态数据 鸿蒙开发 可视化效果 对比 meld DiffMerge 根服务器 Linux环境 端口聚合 windows11 达梦 DM8 HAProxy postgres Dify重启后重新初始化 存储维护 NetApp存储 EMC存储 Bug解决 Qt platform OpenCV 需求分析 规格说明书 image mm-wiki搭建 linux搭建mm-wiki mm-wiki搭建与使用 mm-wiki使用 mm-wiki详解 火绒安全 网络建设与运维 servlet deployment daemonset statefulset cronjob ranger MySQL8.0 内存管理 显卡驱动持久化 GPU持久化 北亚数据恢复 oracle数据恢复 IMX317 MIPI H265 VCU 程序化交易 量化交易 高频交易 rpa archlinux kde plasma flink 设备树 skynet Linux find grep 钉钉 IPv6 IPv6测试 IPv6测速 IPv6检测 IPv6查询 服务器ssl异常解决 语法 junit AzureDataStudio 终端工具 远程工具 抓包工具 Pyppeteer 支持向量机 超融合 react native big data js g++ g++13 动态规划 企业网络规划 华为eNSP SVN Server tortoise svn Alist mount 挂载 网盘 用户管理 僵尸世界大战 游戏服务器搭建 SystemV GeneCards OMIM TTD 嵌入式Linux IPC IPv4/IPv6双栈 双栈技术 网路规划设计 ensp综合实验 IPv4过渡IPv6 IPv4与IPv6 yashandb 打不开xxx软件 无法检查其是否包含恶意软件 arkTs 架构与原理 多端开发 智慧分发 应用生态 鸿蒙OS NVM Node Yarn PM2 gunicorn autodl Sealos C++软件实战问题排查经验分享 0xfeeefeee 0xcdcdcdcd 动态库加载失败 程序启动失败 程序运行权限 标准用户权限与管理员权限 vllm 欧标 OCPP 软件开发 lua 元服务 应用上架 java-zookeeper 锁屏不生效 NFC 近场通讯 智能门锁 GPU训练 网络搭建 神州数码 神州数码云平台 云平台 免费 源代码管理 VGG网络 卷积层 池化层 deekseek figma midjourney 佛山戴尔服务器维修 佛山三水服务器维修 桌面快捷方式 c/s 问题解决 干货分享 黑客工具 密码爆破 Spring Security retry 重试机制 Obsidian Dataview 风扇控制软件 AimRT 跨域请求 加解密 Yakit yaklang 带外管理 线性代数 电商平台 massa sui aptos sei 服务器时间 minecraft 性能调优 安全代理 本地知识库部署 DeepSeek R1 模型 Python基础 Python教程 Python技巧 音乐库 rtc AI员工 券商 股票交易接口api 类型 特点 多路转接 输入系统 子系统 TCP协议 VS Code 服务网格 istio Logstash 日志采集 智能体 autogen openai coze 计算虚拟化 弹性裸金属 Qwen2.5-VL hexo 项目部署 智能体开发 合成模型 扩散模型 图像生成 nosql ubuntu安装 linux入门小白 7-zip Webserver 异步 区块链项目 大模型推理 GRE 移动开发 捆绑 链接 谷歌浏览器 youtube google gmail OpenSSH win服务器架设 windows server sequoiaDB 飞腾处理器 solidworks安装 hdc pthread 三次握手 ABAP UDP RDP 海康 rsync 搜狗输入法 中文输入法 接口优化 systemctl post.io 企业邮箱 搭建邮箱 Python 视频爬取教程 Python 视频爬取 Python 视频教程 粘包问题 ardunio BLE 卸载 列表 解决方案 机械臂 文件存储服务器组件 李心怡 logstash 西门子PLC 通讯 mac设置host 商用密码产品体系 可用性测试 框架 设计规范 node Trae叒更新了? Charles IDEA 脚本 零售 yum换源 源代码 Unity插件 数字证书 签署证书 Qwen3 qwen3 32b 流量运营 静态IP 星河版 服务器正确解析请求体 comfyui comfyui教程 docker search element-ui 上传视频并预览视频 vue上传本地视频及进度条功能 vue2选择视频上传到服务器 upload上传视频组件插件 批量上传视频 限制单个上传视频 solr 计算机学习路线 编程语言选择 mybase watchtower Qt QModbus 鸿蒙NEXT 软考设计师 中级设计师 SQL 软件设计师 计算机系统 chatbox brew mvc client-go Putty 花生壳 物理地址 页表 虚拟地址 #STC8 #STM32 caddy linux子系统 忘记密码 macOS UFW lrzsz 华为昇腾910b3 华为鸿蒙系统 ArkTS语言 Component 生命周期 条件渲染 Image图片组件 向量数据库 安装部署 milvus安装 Masshunter 质谱采集分析软件 使用教程 科研软件 AWS MinIO 图文教程 VMware虚拟机 macOS系统安装教程 macOS最新版 虚拟机安装macOS Sequoia 机架式服务器 1U工控机 国产工控机 paddle pythonai PlaywrightMCP 材料工程 裸机装机 linux磁盘分区 裸机安装linux 裸机安装ubuntu 裸机安装kali 裸机 火山引擎 可执行程序 RK3568 Linux的基础开发工具 NVIDIA vCenter服务器 ESXi主机 监控与管理 故障排除 日志记录 命令模式 qwen2vl easyTier 组网 线程同步 线程互斥 条件变量 创业创新 homeassistant authing android-studio shard 数据采集 Crawlee 知行EDI 电子数据交换 知行之桥 EDI Kubernetes CAD瓦片化 栅格瓦片 矢量瓦片 Web可视化 DWG解析 金字塔模型 gru d3d12 VM虚拟机