[架构之美]linux常见故障问题解决方案(十九)
[架构之美]linux下常见故障问题解决方案
一,文本文件忙
问题一:root@wh-VMware-Virtual-Platform:/home/hail# cp /root/containerd/bin/* /usr/bin/
cp: 无法创建普通文件 ‘/usr/bin/containerd’: 文本文件忙
在Linux系统中遇到“文本文件忙”错误时,通常是因为目标文件正在被进程占用。以下是分步解决方案:
现象截图:
1.1 问题原因分析
错误 cp: 无法创建普通文件 '/usr/bin/containerd': 文本文件忙
表明:
- 目标文件
/usr/bin/containerd
正在被系统进程占用。 - 该文件可能属于正在运行的容器运行时服务(如
containerd
或docker
)。
1.2 解决方案步骤
1. 确认占用文件的进程
使用 lsof
或 fuser
命令查找正在使用文件的进程:
sudo lsof /usr/bin/containerd
# 或
sudo fuser -v /usr/bin/containerd
2. 停止相关服务
停止正在使用 containerd
的服务(按顺序操作):
# 停止 Docker(如果使用)
sudo systemctl stop docker# 停止 Containerd
sudo systemctl stop containerd# 确保进程终止(强制清理)
sudo pkill -9 containerd
3. 复制文件
确认服务停止后,重新执行复制命令:
sudo cp /root/containerd/bin/* /usr/bin/
4. 重启服务
复制完成后恢复服务:
sudo systemctl start containerd
sudo systemctl start docker # 如果之前停止了 Docker
1.3 附加说明
- 内核锁定问题:某些情况下,即使服务已停止,内核仍可能锁定文件。此时可重启系统或使用
cp --remove-destination
覆盖:sudo cp --remove-destination /root/containerd/bin/* /usr/bin/
- 安全模式操作:如果仍无法替换,可尝试进入单用户模式或使用 LiveCD 环境操作。
1.4 命令总结
# 1. 检查进程占用
sudo lsof /usr/bin/containerd# 2. 停止服务
sudo systemctl stop docker containerd
sudo pkill -9 containerd# 3. 强制复制
sudo cp --remove-destination /root/containerd/bin/* /usr/bin/# 4. 重启服务
sudo systemctl start containerd docker
解决截图:
二,域名解析错误
root@wh-VMware-Virtual-Platform:~# ping www.baidu.com
ping: www.baidu.com: 域名解析出现暂时性错误
root@wh-VMware-Virtual-Platform:~#
现象截图:
以下是一些可能的原因和解决方法:
2.1 DNS 服务器配置问题
- 原因:DNS 服务器可能没有正确配置,或者当前的 DNS 服务器无法解析
www.baidu.com
。 - 解决方法:
-
检查当前系统的 DNS 设置。你可以通过以下命令查看当前的 DNS 配置:
cat /etc/systemd/resolved.conf
如果发现 DNS 服务器地址不正确或不可用,可以手动修改为可靠的 DNS 服务器,例如 Google 的公共 DNS(8.8.8.8 和 8.8.4.4)或阿里云的公共 DNS(223.5.5.5 和 223.6.6.6)。
-
修改 /etc/systemd/resolved.conf 文件,添加以下内容:
DNS=8.8.8.8 8.8.4.4
-
保存文件后, 重启
systemd-resolved
服务 ,再次尝试ping
。sudo systemctl restart systemd-resolved
-
解决截图:
2.2 网络连接问题
- 原因:你的网络连接可能不稳定,或者网络配置有问题。
- 解决方法:
- 检查网络连接是否正常。尝试
ping
本地网关或其他已知的 IP 地址,例如:
如果无法成功,说明网络连接可能有问题。ping -c 4 8.8.8.8
- 检查网络配置文件(如
/etc/network/interfaces
或/etc/netplan/*.yaml
),确保网络配置正确。 - 如果是通过 DHCP 自动获取 IP 地址,尝试重启网络服务:
或者重启网络管理器:sudo systemctl restart networking
sudo systemctl restart NetworkManager
- 检查网络连接是否正常。尝试
2.3 防火墙或安全组限制
- 原因:防火墙或安全组可能阻止了 DNS 查询或 ICMP(ping)请求。
- 解决方法:
- 检查系统防火墙规则。你可以使用以下命令查看防火墙状态:
如果防火墙处于活动状态,确保允许 DNS 查询(UDP 端口 53)和 ICMP 流量。sudo ufw status
- 如果你在虚拟机中运行,检查虚拟机的网络设置和宿主机的防火墙规则。
- 检查系统防火墙规则。你可以使用以下命令查看防火墙状态:
2.4 DNS 缓存问题
- 原因:本地 DNS 缓存可能损坏或过期。
- 解决方法:
- 清除本地 DNS 缓存。在 Linux 系统中,可以尝试以下命令:
或者:sudo systemctl restart nscd
sudo systemctl restart NetworkManager
- 再次尝试
ping
。
- 清除本地 DNS 缓存。在 Linux 系统中,可以尝试以下命令:
三,卸载pcre
3.1 卸载通过 apt
安装的 PCRE
运行以下命令卸载系统中通过 apt
安装的 PCRE:
sudo apt remove --purge libpcre3 libpcre3-dev
这将删除所有与 PCRE 相关的包及其配置文件。
3.2 确认卸载成功
运行以下命令确认 PCRE 是否已被完全卸载:
pcre-config --version
如果系统提示 没有那个文件或目录,说明 PCRE 已被成功卸载。
四,openrsty
root@wh-VMware-Virtual-Platform:~/apisix-offline/apisix/apisix-3.12.0# openresty -v
openresty: symbol lookup error: openresty: undefined symbol: lua_getexdata
# 删除旧版OpenResty
sudo rm -rf /usr/local/openresty# 清理可能的残留库
sudo rm -f /usr/local/lib/libluajit-*.so*# 检查全局环境变量(确保无旧路径)
echo $LD_LIBRARY_PATH # 如有旧路径,需修改~/.bashrc或/etc/profile#清除后重新安装
4.1 解决 APISIX 安装时的 GPG 公钥错误
此错误是由于 APT 软件源缺少 Docker 官方仓库的 GPG 公钥导致。以下是详细修复步骤:
1. 添加缺失的 Docker GPG 公钥
# 直接下载并安装 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg# 设置密钥文件权限
sudo chmod 644 /etc/apt/trusted.gpg.d/docker.gpg
2. 修正软件源配置
检查 /etc/apt/sources.list.d/
目录下的 Docker 源文件(如 docker.list
),确认其指向 华为云镜像源 时使用正确的密钥配置:
# 示例:华为云 Docker CE 镜像配置
echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/docker.gpg] https://repo.huaweicloud.com/docker-ce/linux/ubuntu noble stable" | sudo tee /etc/apt/sources.list.d/docker.list
3. 清除并更新 APT 缓存
# 清理旧缓存
sudo rm -rf /var/lib/apt/lists/*# 强制更新
sudo apt update --allow-insecure-repositories
4. 修复 APISIX 依赖安装
重新执行 APISIX 的依赖安装命令:
cd apisix-3.12.0
make deps
4.2关键问题解析
问题原因 | 解决方案 | 作用说明 |
---|---|---|
缺少 Docker 仓库公钥 | 手动下载并安装 GPG 密钥 | 验证软件包签名合法性 |
镜像源签名配置错误 | 在源配置中显式指定 signed-by 路径 | 明确关联密钥与仓库 |
APT 缓存污染 | 强制清理并更新缓存 | 确保获取最新元数据 |
4.3验证修复结果
# 检查 Docker 源状态
sudo apt update 2>&1 | grep "docker-ce"# 预期输出应无 GPG 错误,显示仓库可更新:
# Get:1 https://repo.huaweicloud.com/docker-ce/linux/ubuntu noble InRelease [2,854 B]
4.4备选方案:跳过 GPG 验证(不推荐)
若紧急情况下需临时绕过验证(生产环境禁用):
# 修改源配置为信任仓库
echo "deb [trusted=yes] https://repo.huaweicloud.com/docker-ce/linux/ubuntu noble stable" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt update
4.5 附录:Docker 官方源配置参考
# 标准 Docker 官方源(非镜像)
echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/docker.gpg] https://download.docker.com/linux/ubuntu noble stable" | sudo tee /etc/apt/sources.list.d/docker.list
五,docker拉取镜像超时
# 查看 containerd 是否正在运行
sudo systemctl status containerd# 如果未运行,启动服务并设置开机自启
sudo systemctl start containerd
sudo systemctl enable containerd
5.1 问题分析
Docker 在尝试拉取镜像时无法连接到 containerd
服务(底层容器运行时),导致超时错误。常见原因包括:
- containerd 未运行:服务未启动或崩溃。
- 权限问题:用户或 Docker 无权限访问
containerd.sock
。 - 资源不足:系统资源(如磁盘空间、内存)耗尽。
- 配置错误:Docker 或 containerd 的配置损坏。
5.2 逐步解决方案
1. 检查 containerd 服务状态
# 查看 containerd 是否正在运行
sudo systemctl status containerd# 如果未运行,启动服务并设置开机自启
sudo systemctl start containerd
sudo systemctl enable containerd
2. 验证 containerd.sock 文件权限
# 检查 socket 文件是否存在
ls -l /run/containerd/containerd.sock# 预期权限示例(所属组通常为 docker 或 root)
srw-rw---- 1 root root 0 Aug 10 15:30 /run/containerd/containerd.sock# 如果权限不符,修复权限并重启服务
sudo chmod 660 /run/containerd/containerd.sock
sudo chown root:docker /run/containerd/containerd.sock
sudo systemctl restart containerd
3. 重启 Docker 和 containerd 服务
sudo systemctl restart docker containerd
4. 检查系统资源
# 检查磁盘空间
df -h# 检查内存使用
free -h# 如果资源不足,清理空间或增加资源
5. 查看详细日志定位问题
# 查看 containerd 日志
sudo journalctl -u containerd --since "5 minutes ago"# 查看 Docker 日志
sudo journalctl -u docker --since "5 minutes ago"
6. 重装 Docker 和 containerd(若配置损坏)
# 卸载旧版本
sudo apt-get purge -y docker-ce docker-ce-cli containerd.io# 清理残留文件
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd# 重新安装
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io# 启动服务
sudo systemctl start docker containerd
5.3 其他可能原因
1. Docker 与 containerd 版本不兼容
- 确保使用官方支持的版本组合,参考 Docker 文档。
2. 防火墙/SELinux 拦截
# 临时禁用 SELinux(仅用于测试)
sudo setenforce 0# 如果问题解决,需调整 SELinux 策略或禁用
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
3. 检查 Docker 配置文件
# 查看 Docker 的 containerd 配置
sudo cat /etc/docker/daemon.json# 如果文件存在,确保包含以下内容(若无则无需修改)
{"exec-opts": ["native.cgroupdriver=systemd"],"log-driver": "json-file","log-opts": { "max-size": "100m" },"storage-driver": "overlay2"
}
六,apisix停服务报错
root@wh-VMware-Virtual-Platform:/home/apisix/apisix-3.12.0# apisix stop /usr/local/openresty//luajit/bin/luajit ./apisix/cli/apisix.lua stop nginx: [error] open() “/home/apisix/apisix-3.12.0/logs/nginx.pid” failed (2: No such file or directory)
6.1 问题原因
执行 apisix stop
时提示 nginx.pid
文件缺失,通常有两种可能:
- APISIX/Nginx 并未真正运行,因此没有生成 PID 文件。
- PID 文件路径配置错误,APISIX 找不到预期的
nginx.pid
文件。
6.2 解决步骤
1. 确认 APISIX/Nginx 是否正在运行
ps aux | grep -E 'apisix|nginx'
- 如果输出中没有类似
nginx: worker process
或apisix
的进程,说明服务未运行,直接忽略错误即可(无需停止)。 - 如果输出中有相关进程,说明服务仍在运行,但 PID 文件丢失,需手动停止。
2. 手动停止服务
-
方法 1:优雅停止(推荐)
如果知道nginx.pid
的正确路径(比如在配置文件中指定了其他路径):nginx -p /home/apisix/apisix-3.12.0/ -c conf/nginx.conf -s stop
-
方法 2:强制停止
如果进程存在但找不到 PID 文件:sudo pkill -f nginx # 强制终止所有 nginx 相关进程
6.3. 检查 PID 文件路径配置
打开 APISIX 的配置文件 conf/config.yaml
,确认 nginx_config.pid_file
配置项:
nginx_config:pid_file: /home/apisix/apisix-3.12.0/logs/nginx.pid # 检查此路径是否存在
- 如果路径错误(例如目录不存在),需修改为正确路径或手动创建目录:
mkdir -p /home/apisix/apisix-3.12.0/logs/
6.4. 重新启动 APISIX
停止后重新启动服务,观察是否正常生成 PID 文件:
apisix start
- 检查 PID 文件是否生成:
ls /home/apisix/apisix-3.12.0/logs/nginx.pid
6.5. 查看日志定位问题
如果启动失败,检查错误日志:
tail -f /home/apisix/apisix-3.12.0/logs/error.log
常见问题:
- 端口被占用
- 配置文件语法错误
- 权限不足(可尝试用
sudo
运行)
希望本教程对您有帮助,请点赞❤️收藏⭐关注支持!欢迎在评论区留言交流技术细节!
相关文章:
[架构之美]linux常见故障问题解决方案(十九)
[架构之美]linux下常见故障问题解决方案 一,文本文件忙 问题一:rootwh-VMware-Virtual-Platform:/home/hail# cp /root/containerd/bin/* /usr/bin/ cp: 无法创建普通文件 ‘/usr/bin/containerd’: 文本文件忙 在Linux系统中遇到“文本文件忙”错误时…...
Java与Go语言对比教程
Java vs. Go:程序员的双节棍与瑞士军刀之战 🎯 先看一张灵魂对比图 🤖 Java老大哥 🚀 Go小钢炮 出生年份 1995(中年稳健) 2009(年轻活力&…...
计算机大类专业数据结构下半期实验练习题
1068: 图的按录入顺序深度优先搜索 #include"iostream" using namespace std; #include"cstring" int visited[100]; char s[100]; int a[100][100]; int n; void dfs(int k,int n) {if(visited[k]0){visited[k]1;cout<<s[k];for(int i0;i<n;i){i…...
Android 关闭Activity切换过渡动画
Android 9.0以前关闭过渡动画效果只需要把开发者模式中过渡动画缩放设为0就可以。也就是把def_window_transition_scale改为0% frameworks/base/packages/SettingsProvider/res/values/defaults.xml <fraction name"def_window_transition_scale">100%<…...
iperf3的介绍与舒勇
在 CentOS 7 中使用 iperf3 进行网络性能测试,分为客户端和服务器两部分。以下是使用步骤: 1. 安装 iperf3 首先,你需要在 CentOS 7 上安装 iperf3。可以通过以下命令进行安装: sudo yum install epel-release sudo yum install…...
Python 包管理新选择:uv
在 Python 中,uv 是由 Astral 公司开发的 Rust 高性能包管理工具,旨在替代传统 pip 并提供更快的依赖管理、Python 版本控制等功能。 https://github.com/astral-sh/uv 在 github 上已有 53k star 一、uv 的核心优势 极速性能:比 pip 快 10-100 倍。多版本 Python 管理:支…...
从需求到用例的AI路径:准确率与挑战
用工作流生成测试用例和自动化测试脚本! 引言:用例的黄金起点 在软件工程中,“测试用例”是连接需求理解与质量保障之间的关键桥梁。一份高质量的测试用例,不仅是验证功能实现是否符合需求的工具,更是产品风险感知、用…...
JavaSE核心知识点02面向对象编程02-06(泛型)
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 JavaSE核心知识点02面向对象编程02-06&#…...
xml与注解的区别
功能xml配置注解定义bean bean标签 id属性 class属性 Component Controller Service Repository ComponentScan 设置依赖注入 setter注入(set方法) 构造器注入(构造方法) Autowired Qualifier Value 配置第三方bean bean标签 静…...
进阶 DFS 学习笔记
字数:12017字。 文章盗的图注明了出处,全部出自 y 总的算法提高课。 不知道为啥这个时候才开始学这个东西,好像是很多同龄人都已经学完了。 进阶 DFS 具体来说好几个东西,所以可能内容有一些些多。 默认 DFS 和 BFS 已经掌握了…...
计算机设计大赛山东省赛区软件开发赛道线上答辩复盘
流程回顾: 1.抽签顺序: 抽签顺序并不一定代表是最终顺序,要注意看通知不要遗漏。 2.答辩形式: 线上答辩,加入腾讯会议,进会议时自己的备注是作品编号,等轮到自己组答辩时主持人会把人拉进来…...
第7次课 栈A
课堂学习 栈(stack) 是一种遵循先入后出逻辑的线性数据结构。 我们可以将栈类比为桌面上的一摞盘子,如果想取出底部的盘子,则需要先将上面的盘子依次移走。我们将盘子替换为各种类型的元素(如整数、字符、对象等&…...
TXT编码转换工具iconv
iconv.exe是实现TXT编码转换的命令行工具,支持几百种编码格式的转换,利用它可以在自主开发程序上实现TXT文档编码的自动转换。 一、命令参数格式 Usage: iconv [-c] [-s] [-f fromcode] [-t tocode] [file ...] or: iconv -l 二、转换的示例 将UTF-8…...
基于Spring Boot + Vue的高校心理教育辅导系统
一、项目背景介绍 随着高校对学生心理健康教育的重视,传统的人工心理辅导与测评模式已经难以满足广大师生的个性化需求。为了提高心理服务的效率、便捷度和覆盖范围,本项目开发了一个高校心理教育辅导系统,集成心理评测、辅导预约、留言交流…...
关于甲骨文(oracle cloud)丢失MFA的解决方案
前两年,申请了一个招商的多币种信用卡,然后就从网上撸了一个oracle的免费1h1g的服务器。 用了一段时间,人家要启用MFA验证。 啥叫MFA验证,类似与短信验证吧,就是绑定一个手机,然后下载一个app,每…...
Linux系统管理与编程17:自动化部署ftp服务
兰生幽谷,不为莫服而不芳; 君子行义,不为莫知而止休。 #virtual用户管理:passerbyA、captain和admin三个虚拟用户 # passerbyA只能看,captain可看读写上传,但不能删除。admin全部权限 [rootshell shell]…...
C++STL——stack,queue
stack与queue 前言容器适配器deque 前言 本篇主要讲解stack与queue的底层,但并不会进行实现,stack的接口 queue的接口 ,关于stack与queue的接口在这里不做讲解,因为通过前面的对STL的学习,这些接口都是大同小异的。 …...
HC-SR04超声波测距传感器
1.基本信息 供电电压5v,测量范围2cm~400cm,测量精度正负3mm,超声波频率40khz 2.连接引脚: 3.工作原理 TRIG引脚发送至少10us的高电平信号,ECHO引脚负责接受信号; 接受方式:计算测量高电平持续的时间,从一…...
内存安全暗战:从 CVE-2025-21298 看 C 语言防御体系的范式革命
引言 2025 年 3 月,美国 CERT 发布的《年度漏洞报告》揭示了触目惊心的数据:C/C 相关漏洞占全年高危漏洞的 68%,其中内存安全问题贡献了 92% 的远程代码执行风险。当 CVE-2025-21298 漏洞在某工业控制软件中被利用,导致欧洲某核电…...
Linux笔记---System V共享内存
1. System V共享内存简介 System V共享内存是一种在Linux系统中用于进程间通信的机制。顾名思义,就是申请一段可供多个进程共享的内存,以用于进程间通信,相对于管道机制要更加直接。 1.1 原理 System V共享内存通过创建和使用一个特定的IP…...
MySQL 1366 - Incorrect string value:错误
MySQL 1366 - Incorrect string value:错误 错误如何发生发生原因: 解决方法第一种尝试第二种尝试 错误 如何发生 在给MySQL添加数据的时候发生了下面的错误 insert into sys_dept values(100, 0, 0, 若依科技, 0, 若依, 15888888888, ryqq.com, 0,…...
慈缘基金会“蝴蝶飞”助西藏女孩白玛卓嘎“折翼重生”
历经六个月、178天的艰难治疗,来自西藏拉萨的15岁女孩白玛卓嘎,终于在4月底挺直脊梁,带着自信的笑容踏上了回家的路。这场跨越雪域高原与首都北京的“生命蜕变之旅”,不仅改写了这位藏族少女的人生轨迹,更见证了公益力…...
【生存技能】ubuntu 24.04 如何pip install
目录 原因解决方案说明 在接手一个新项目需要安装python库时弹出了以下提示: 原因 这个报错是因为在ubuntu中尝试直接使用 pip 安装 Python 包到系统环境中,ubuntu 系统 出于稳定性考虑禁止了这种操作 这里的kali是因为这台机器的用户起名叫kali,我也不知道为什么…...
TDengine 在智能制造中的核心价值
简介 智能制造与数据库技术的深度融合,已成为现代工业技术进步的一个重要里程碑。随着信息技术的飞速发展,智能制造已经成为推动工业转型升级的关键动力。在这一进程中,数据库技术扮演着不可或缺的角色,它不仅承载着海量的生产数…...
代码随想录第41天:图论2(岛屿系列)
一、岛屿数量(Kamacoder 99) 深度优先搜索: # 定义四个方向:右、下、左、上,用于 DFS 中四向遍历 direction [[0, 1], [1, 0], [0, -1], [-1, 0]]def dfs(grid, visited, x, y):"""对一块陆地进行深度…...
C语言复习--柔性数组
柔性数组是C99中提出的一个概念.结构体中的最后⼀个元素允许是未知大小的数组,这就叫做柔性数组成员。 格式大概如下 struct S { int a; char b; int arr[];//柔性数组 }; 也可以写成 struct S { int a; char b; int arr[0];//柔性数组 }; …...
《Python星球日记》 第55天:迁移学习与预训练模型
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、迁移学习基础1. 什么是迁移学习?2. 迁移学习的优势3. 迁移学习的…...
Python项目75:PyInstaller+Tkinter+subprocess打包工具1.0(安排 !!)
这个打包工具包含以下功能: 1.主要功能:选择Python脚本文件,设置打包选项(单文件打包、无控制台窗口),自定义程序图标,指定输出目录,实时显示打包日志。 2.自适应布局改进ÿ…...
互联网大厂Java面试实录:从基础到微服务的深度考察
互联网大厂Java面试实录:从基础到微服务的深度考察 面试场景 面试官:风清扬(严肃且技术深厚) 求职者:令狐冲(技术扎实但偶尔含糊) 第一轮:Java基础与框架 风清扬:令狐…...
学习黑客5 分钟深入浅出理解Linux进程管理
5 分钟深入浅出理解Linux进程管理 🖥️ 大家好!今天我们将探索Linux系统中的进程管理——这是理解系统运行机制和进行安全分析的基础知识。在TryHackMe平台上进行网络安全学习时,了解进程如何工作以及如何监控和控制它们,对于识别…...
Kubernetes应用发布方式完整流程指南
Kubernetes(K8s)作为容器编排领域的核心工具,其应用发布流程体现了自动化、弹性和可观测性的优势。本文将通过一个Tomcat应用的示例,详细讲解从配置编写到高级发布的完整流程,帮助开发者掌握Kubernetes应用部署的核心步…...
JVM——即时编译器的中间表达形式
中间表达形式(IR):编译器的核心抽象层 1. IR的本质与作用 在编译原理的体系中,中间表达形式(Intermediate Representation, IR)是连接编译器前端与后端的桥梁。前端负责将源代码转换为IR,而后…...
Js 判断浏览器cookie 是否启用
验证时 google浏览器 135.0.7049.117 不生效 cookie.html <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><title>Cookie 检测</title> </head> <body><h1>检测是否启用 Cookie<…...
数字相机的快门结构
数字相机(DC/DSLR等)的快门结构和传统相机有所不同,除了机械快门以外,还存在电子快门,实际上是二者的混合体。我写这篇文章大概介绍一下数字相机的快门结构,希望能抛砖引玉。 要讨论数字相机的快门结构,首先先要了解一下数字相机的结构分类,根据成像原理不同,数字相机大…...
LeetCode --- 448 周赛
题目列表 3536. 两个数字的最大乘积 3537. 填充特殊网格 3538. 合并得到最小旅行时间 3539. 魔法序列的数组乘积之和 一、两个数字的最大乘积 由于数据都是正数,所以乘积最大的两个数,本质就是找数组中最大的两个数即可,可以排序后直接找到…...
添加物体.
在cesium中我们可以添加物体进入地图.我们以广州塔为例 //生成广州塔的位置var position2 Cesium.Cartesian3.fromDegrees(113.3191,23.109,100)viewer.camera.setView({//指定相机位置destination: position2, 运行后如图 我们使用cesium官网提供的代码为广州塔在地图上标点…...
ABB电机控制和保护单元与Profibus DP主站转Modbus TCP网关快速通讯案例
ABB电机控制和保护单元与Profibus DP主站转Modbus TCP网关快速通讯案例 在现代工业自动化系统中,设备之间的互联互通至关重要。Profibus DP和Modbus TCP是两种常见的通信协议,分别应用于不同的场景。为了实现这两种协议的相互转换,Profibus …...
Yocto中`${S}`和`${WORKDIR}`的联系与区别
在Yocto项目中,${S}和${WORKDIR}是构建过程中两个核心路径变量,它们的关系及用途如下: 定义与层级关系${WORKDIR}(工作目录) 是Recipe所有任务执行的基础目录,路径结构为: build/tmp/work/<arch>/<recipe-name>/<version>/。 该目录包含源码解压后的所…...
CDGP历次主观题真题回忆
(一)【论述】 1如何设计企业的数据安全体系?活动+方法+DSMM 2如何管理公司混乱的数据质量?活动+遵循原则+建立质量维度+质量改进生命周期+高阶指标。...
Java学习手册:Spring Cloud 组件详解
一、服务发现组件 - Eureka 核心概念 :Eureka 是一个服务发现组件,包含 Eureka Server 和 Eureka Client 两部分。Eureka Server 作为服务注册中心,负责维护服务实例的注册信息;Eureka Client 则是集成在应用中的客户端࿰…...
【大模型】使用 LLaMA-Factory 进行大模型微调:从入门到精通
使用 LLaMA-Factory 进行模型微调:从入门到精通 一、环境搭建:奠定微调基础(一)安装依赖工具(二)创建 conda 环境(三)克隆仓库并安装依赖 二、数据准备:微调的基石&#…...
sensitive-word-admin v2.0.0 全新 ui 版本发布!vue+前后端分离
前言 sensitive-word-admin 最初的定位是让大家知道如何使用 sensitive-word,所以开始想做个简单的例子。 不过秉持着把一个工具做好的原则,也收到很多小伙伴的建议。 v2.0.0 在 ruoyi-vue(也非常感谢若依作者多年来的无私奉献)…...
HTML属性
HTML(HyperText Markup Language)是网页开发的基石,而属性(Attribute)则是HTML元素的重要组成部分。它们为标签提供附加信息,控制元素的行为、样式或功能。本文将从基础到进阶,全面解析HTML属性…...
计算机网络 4-1 网络层(网络层的功能)
【考纲内容】 (一)网络层的功能 异构网络互连;路由与转发;SDN基本概念;拥塞控制 (二)路由算法 静态路由与动态路由;距离-向量路由算法;链路状态路由算法;层…...
《算法导论(第4版)》阅读笔记:p17-p27
《算法导论(第4版)》学习第 10 天,p17-p27 总结,总计 11 页。 一、技术总结 1. insertion sort (1)keys The numbers to be sorted are also known as the keys(要排序的数称为key)。 第 n 次看插入排序,这次有两个地方感触比较深&#…...
C++中线程安全的对多个锁同时加锁
C中线程安全的对多个锁同时加锁 C中线程安全的对两个锁同时加锁 C中线程安全的对两个锁同时加锁 参考文档:https://llfc.club/articlepage?id2UVOC0CihIdfguQFmv220vs5hAG 如果我们现在有一个需要互斥访问的变量 big_object,它的定义如下: …...
子串简写(JAVA)一维前缀和, 蓝桥杯
这个题用前缀和,开两个数组,一个存前n个字符数据的c1的数字个数,另一个前n个字符c2的数字个数,然后遍历一次加起来,有一个测试点没过去,把那个存最后数的换成long,应该是这题数据范围给的不对&a…...
数据库故障排查全攻略:从实战案例到体系化解决方案
一、引言:数据库故障为何是技术人必须攻克的 "心腹大患" 在数字化时代,数据库作为企业核心数据资产的载体,其稳定性直接决定业务连续性。据 Gartner 统计,企业每小时数据库 downtime 平均损失高达 56 万美元࿰…...
vllm笔记
目录 vllm简介vllm解决了哪些问题?1. **瓶颈:KV 缓存内存管理低效**2. **瓶颈:并行采样和束搜索中的内存冗余**3. **瓶颈:批处理请求中的内存碎片化** 快速开始安装vllm开始使用离线推理启动 vLLM 服务器 支持的模型文本语言模型生…...
“AI+城市治理”智能化解决方案
目录 一、建设背景 二、需求分析 三、系统设计 四、系统功能 五、应用场景 六、方案优势 七、客户价值 八、典型案例 一、建设背景 当前我国城市化率已突破65%,传统治理模式面临前所未有的挑战。一方面,城市规模扩大带来治理复杂度呈指数级增长,全国城市管理案件年…...