首页
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
友情连接
推荐
autojs
Search
1
charles破解注册码(含windows和mac)最新安装教程「亲测有效」
39 阅读
2
【omv5安装教程二】N1盒子Armbian系统下,一条命令搞定Openmediavault(OMV5)安装
18 阅读
3
博客简介
11 阅读
4
SSH如何访问fe80开头的ipv6????
11 阅读
5
【N1安装飞牛优化四】关闭不必要服务优化记录
11 阅读
登录
Search
标签搜索
JAVA
JAVA学习系列
docker
Linux
js
N1
git
模块二
端口
模块一
模块五
模块九
数据库
模块四
镜像
模块三
模块六
MySQL
百度网盘
nginx
DaiMaFengZi
累计撰写
587
篇文章
累计收到
8
条评论
首页
栏目
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
页面
友情连接
推荐
autojs
搜索到
210
篇与
的结果
2026-07-17
Nginx平滑升级离线编译与零停机热替换完整手册
Nginx 1.30.4 离线编译与零停机热替换完整手册⚠️ 前置条件确认当前身份:root旧版 Nginx 前缀:/usr/local/nginx编译依赖:gcc、make、pcre-devel、zlib-devel、openssl-devel 等必须已在离线环境中提前安装。若未安装,需先通过 rpm/deb 包离线安装依赖,否则 ./configure 会失败。📥 第一阶段:获取源码与解压1. 下载 Nginx 1.30.4 源码包在有网络的机器上下载后,通过 U盘/SCP 等方式传入服务器 /home/zjgzwyjsadmin/ 目录:# 在联网机器执行示例 wget https://nginx.org/download/nginx-1.30.4.tar.gz2. 解压并进入源码目录cd /home/nginx-1.30.4 tar -zxvf nginx-1.30.4.tar.gz cd nginx-1.30.4路径约定后续所有命令均假设源码位于 /home/nginx-1.30.4。若您实际路径不同,请全局替换。🔧 第二阶段:编译构建(仅编译,不安装)1. 提取旧版编译参数OLD_ARGS= $ (nginx -V 2>&1 | grep "configure arguments:" | sed 's/configure arguments: //') echo "📋 旧版参数: $ OLD_ARGS"2. 配置编译选项# 使用旧版参数确保模块完全兼容 ./configure $ OLD_ARGS3. 编译生成新二进制# 利用多核加速编译,绝不执行 make install! make -j $ (nproc)4. 编译后双重验证(必做)# 验证1:参数一致性(注意 -- 分隔符防止 grep 误解析) ./objs/nginx -V 2>&1 | grep "configure arguments:" | grep -F -- " $ OLD_ARGS" \ && echo "✅ 编译参数一致" || { echo "❌ 参数不一致,停止!"; exit 1; } # 验证2:新二进制能正确解析现有配置 ./objs/nginx -t # 期望输出: syntax is ok / test is successful只有两个验证均通过,才能继续。 若失败,检查 $OLD_ARGS 完整性或重新 make clean && make。🔒 第三阶段:全量备份(不可跳过)BACKUP_TIME= $ (date +%Y%m%d_%H%M%S) NGINX_BIN= $ (which nginx) # 备份二进制 cp " $ NGINX_BIN" " $ {NGINX_BIN}.bak. $ {BACKUP_TIME}" # 备份配置目录 cp -a /usr/local/nginx/conf "/usr/local/nginx/conf.bak. $ {BACKUP_TIME}" echo "✅ 备份完成:" ls -lh " $ {NGINX_BIN}.bak. $ {BACKUP_TIME}" ls -ld "/usr/local/nginx/conf.bak. $ {BACKUP_TIME}"🔄 第四阶段:零停机热替换执行💡 原理:USR2 启动新 Master → 新 Worker 接管新请求 → WINCH 优雅关闭旧 Worker→ QUIT 退出旧 Master。全程无连接中断。# 确保在源码目录下 cd /home/zjgzwyjsadmin/nginx-1.30.4 NGINX_BIN= $ (which nginx) # 步骤1:覆盖二进制(旧进程在内存中运行,不受磁盘影响) cp ./objs/nginx " $ NGINX_BIN" # 步骤2:启动新 Master 进程 kill -USR2 $ (cat /usr/local/nginx/logs/nginx.pid) sleep 3 # 步骤3:确认双 Master 共存(必须看到两行 master) ps aux | grep "[n]ginx: master" # 步骤4:优雅关闭旧 Worker kill -WINCH $ (cat /usr/local/nginx/logs/nginx.pid.oldbin) # 步骤5:业务健康检查(关键决策点!) curl -sI http://localhost | head -3 tail -20 /usr/local/nginx/logs/error.log | grep -E "emerg|crit|alert" # ✅ 正常 → 继续步骤6 # ❌ 异常 → 立即执行下方【紧急回滚预案】 # 步骤6:彻底退出旧 Master kill -QUIT $ (cat /usr/local/nginx/logs/nginx.pid.oldbin) # 步骤7:最终版本确认 nginx -v # 期望输出: nginx version: nginx/1.30.4✅ 第五阶段:升级后验证矩阵检查项命令合格标准版本号nginx -vnginx/1.30.4进程唯一性`ps aux \grep "[n]ginx: master" \wc -l`输出 1配置语法nginx -ttest is successful错误日志tail -20 /usr/local/nginx/logs/error.log无新增 emerg/crit业务响应curl -sI http://localhostHTTP 2xx/3xx监听端口`ss -tlnp \grep nginx`所有预期端口 LISTEN🔙 紧急回滚预案(30秒内恢复)仅在第四阶段步骤5健康检查失败时执行:NGINX_BIN= $ (which nginx) # ⚠️ 将下方时间戳替换为第三阶段输出的实际 BACKUP_TIME BACKUP_TIME="YYYYMMDD_HHMMSS" # 1. 终止新进程组 kill -QUIT $ (cat /usr/local/nginx/logs/nginx.pid) 2>/dev/null # 2. 恢复旧二进制 cp " $ {NGINX_BIN}.bak. $ {BACKUP_TIME}" " $ NGINX_BIN" # 3. 重启旧版本 nginx -t && nginx # 4. 验证回滚成功 nginx -v && curl -sI http://localhost⚠️ Root 环境安全警告SELinux:若启用,覆盖二进制后必须执行 restorecon -v "$NGINX_BIN",否则新 Master 无法绑定端口。WINCH 耐心等待:WebSocket/大文件下载等长连接可能导致旧 Worker 持续数分钟。用 watch -n1 'ps aux | grep "[n]ginx: worker"' 监控,绝不要 kill -9。PID 路径:以上命令假设 PID 在 /usr/local/nginx/logs/nginx.pid。若不同,通过 nginx -V 2>&1 | grep -oP '(?<=--pid-path=)\S+' 获取实际路径并全局替换。操作窗口:尽管零停机,仍建议在业务低峰期执行。离线依赖:若 ./configure 报错缺少库,需在离线环境中提前准备好对应的 devel 包(如 pcre2-devel、zlib-devel、openssl-devel)并通过 rpm -ivh 或 dpkg -i 安装。
2026年07月17日
5 阅读
0 评论
0 点赞
2026-05-20
NGINX 零停机平滑升级全流程实操指南
一、 概述在生产环境下,升级 NGINX 二进制文件通常面临一个挑战:如何升级而不需要停止服务(零停机)?NGINX 通过一套精巧的信号量(Signals)机制实现了平滑升级。其核心原理是:启动一个新的主进程(Master Process)接管监听端口,让旧进程在处理完现有请求后优雅退出,从而实现无缝切换。二、 升级前置准备与环境摸底在升级之前,必须确保新版本的编译参数与当前运行的版本完全一致,否则会导致启动失败或功能缺失。1. 查询当前版本及编译参数# 查看当前版本号 nginx -v # 查看详细编译参数 (极其重要,升级时必须使用相同的参数) nginx -V记录项: 重点记录 configure arguments 之后的所有内容(如 --prefix=/usr/local/nginx)。2. 确认二进制文件路径与 PID# 确认 nginx 可执行文件路径 which nginx # 确认当前运行的主进程 PID ps aux | grep nginx 记录项: 记录 master process 的 PID。3. 配置文件语法检查在任何操作前,确保当前配置文件没有语法错误。nginx -t三、 新版本编译准备核心原则:只编译→→不安装。 严禁直接执行 make install,因为这会覆盖您生产环境的配置文件。1. 下载并解压wget http://nginx.org/download/nginx-x.x.x.tar.gz tar -zxvf nginx-x.x.x.tar.gz cd nginx-x.x.x2. 配置与编译使用第一阶段记录的编译参数进行配置:# 使用之前 nginx -V 记录的参数 ./configure --prefix=/usr/local/nginx [其他参数...] # 编译生成二进制文件 make编译完成后,新的二进制文件位于 objs/nginx。四、 执行平滑升级(核心步骤)步骤 1:二进制文件替换由于 Linux 内核禁止覆盖正在运行的二进制文件(会报 Text file busy),我们必须使用 mv 命令通过改变 inode 的方式进行替换。 # 1. 备份旧文件 cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak # 2. 使用 mv 替换新文件 (绕过 Text file busy) mv objs/nginx /usr/local/nginx/sbin/nginx # 3. (可选) 如果系统中有快捷路径 /usr/local/bin/nginx,请同步更新 cp /usr/local/nginx/sbin/nginx /usr/local/bin/nginx步骤 2:启动新主进程 (USR2)向旧主进程发送 USR2 信号,通知其启动新版本的二进制进程。 kill -USR2 <旧MasterPID> 状态: 此时,旧主进程和新主进程同时存在,它们共同监听端口,但新请求将开始分发给新进程。 步骤 3:优雅停止旧工作进程 (WINCH) 向旧主进程发送 WINCH 信号,通知旧的工作进程(Worker Processes)在处理完当前请求后立即退出。 code Bash kill -WINCH <旧MasterPID> 状态: 此时,所有新流量已全部由新版本进程处理。步骤 4:业务验证(关键环节) 在彻底删除旧版本前,必须进行全方位验证: 本地验证: curl -I http://127.0.0.1:端口 外部验证: telnet IP 端口 或 浏览器访问。 日志验证: tail -f /usr/local/nginx/logs/error.log 检查是否有 [emerg] 报错。 ### 步骤 5:彻底关闭旧主进程 (QUIT) 确认业务运行稳定后,关闭不再需要的旧主进程。 ```text kill -QUIT ``` 五、 异常处理与回滚方案 1. 怎么回滚? 如果在 步骤 3 之后发现新版本运行异常,可以通过以下指令将流量瞬间切回旧版本: code Bash # 向新主进程发送 WINCH 信号,让新 worker 退出 kill -WINCH # 此时流量会自动切回尚未关闭的旧 worker 进程 2. 常见坑点排查 ```text Text file busy: 不要用 cp 覆盖运行中的文件,必须用 mv。 版本显示不一致: 如果 nginx -v 显示旧版而 ps 显示新版,说明 /usr/local/bin/nginx 和 /usr/local/nginx/sbin/nginx 两者不一致,请同步覆盖。 Telnet 不通: 若 curl 内部通但外部不通,请检查防火墙(Firewalld/Security Group)策略,这通常与 NGINX 升级无关,而是网络层波动。 ``` 六、 总结流程图 备份→→编译→→mv替换→→USR2(启动新版)→→WINCH(切流量)→→验证→→QUIT(删旧版)
2026年05月20日
5 阅读
0 评论
0 点赞
2026-04-13
2026 最新实战:在单卡 48GB GPU 上部署 Qwen3.5-35B-A3B MoE 模型(vLLM + Open WebUI 完整指南)
一、为什么选择 Qwen3.5-35B-A3B?Qwen3.5-35B-A3B 是阿里通义千问团队于 2026 年初发布的 混合专家(MoE)模型,具备以下优势:小体积,大能力:总参数量 35B,但每次推理仅激活约 3B 参数,显存占用远低于同级别 Dense 模型。超长上下文:原生支持 262,144 tokens,轻松处理长文档、代码库。开源免费:采用 Apache 2.0 协议,可商用,权重已在 ModelScope 魔搭社区 公开。性能卓越:在多项基准测试中超越前代 Qwen3-235B-A22B,推理成本更低。对于拥有 单张 48GB GPU(如 A6000、RTX 6000 Ada)的用户,它是目前能本地部署的 最强 MoE 模型。二、环境配置(无需虚拟环境,全局安装即可)重要提示:经大量用户反馈,vLLM 与 Open WebUI 必须在同一 Python 环境中运行,否则会出现模块缺失或 API 不兼容问题。因此,直接使用全局环境是最简单可靠的方案。# 升级 pip(避免旧版 pip 的编译问题) pip install --upgrade pip #安装魔塔社区的包 pip install modelscope # 安装 vLLM(自动匹配 CUDA 版本) pip install vllm # 安装 FlashAttention(加速注意力计算) pip install flash-attn --no-build-isolation # 安装webui聊天界面 pip install open-webui三、单卡部署:Qwen3.5-35B-A3B 快速启动1. 下载模型(以 Qwen3.5-35B-A3B 为例)#模型下载 from modelscope import snapshot_download model_dir = snapshot_download('Qwen3.5-35B-A3B',cache_dir='./')四、单卡部署:启动 vLLM 服务vllm serve ./Qwen3.5-35B-A3B \ --dtype bfloat16 \ --port 5000 \ --max_model_len 262144 \ --gpu_memory_utilization 0.85参数详解(针对 MoE 模型优化):参数推荐值说明--dtypebfloat16MoE 模型必须用 bfloat16,auto 可能导致精度下降--port5000API 服务端口(可自定义)--max_model_len262144启用模型最大上下文长度(爆显存时可降至 131072)--gpu_memory_utilization0.8548GB 显存安全值(若爆显存,逐步降至 0.8 → 0.75)显存占用参考(48GB GPU):上下文 262K:~41GB上下文 131K:~38GB上下文 65K:~35GB五、集成 Open WebUI(图形化聊天界面)# 启用网络加速(AutoDL 用户必备) source /etc/network_turbo # 设置环境变量(关键!) export HF_ENDPOINT=https://hf-mirror.com # Hugging Face 镜像加速 export ENABLE_OLLAMA_API=False # 禁用 Ollama 兼容层 export OPENAI_API_BASE_URL=http://127.0.0.1:5000/v1 # 指向 vLLM API export DEFAULT_MODELS="Qwen3.5-35B-A3B" # 必须与模型文件夹名一致 # 启动 WebUI(默认端口 8080,此处改为 6006) open-webui serve --port 6006访问界面浏览器打开:👉 http://你的服务器IP:6006六、多卡部署(扩展参考)注意:Qwen3.5-35B-A3B 仅支持张量并行(Tensor Parallelism),不支持流水线并行。# 2 卡示例(如 2×A6000) vllm serve ./Qwen3.5-35B-A3B \ --dtype bfloat16 \ --port 5000 \ --tensor-parallel-size 2 \ --gpu_memory_utilization 0.8 \ --max_model_len 262144并行策略:--tensor-parallel-size N:必须等于 GPU 数量(如 2 卡设为 2)。不要设置 --pipeline-parallel-size:MoE 模型不兼容。七、OpenAI 格式 API 调用启动兼容 API 服务(等效于 vllm serve)python -m vllm.entrypoints.openai.api_server \ --served-model-name Qwen3.5-35B-A3B \ --model ./Qwen3.5-35B-A3B \ --dtype bfloat16 \ --port 5000 \ --max_model_len 262144 \ --gpu_memory_utilization 0.85Python 调用示例from openai import OpenAI client = OpenAI( base_url="http://localhost:5000/v1", api_key="not-needed" ) response = client.chat.completions.create( model="Qwen3.5-35B-A3B", messages=[{"role": "user", "content": "请用 262K 上下文分析以下代码库..."}], max_tokens=500 ) print(response.choices[0].message.content)
2026年04月13日
4 阅读
0 评论
0 点赞
2026-04-04
【N1安装飞牛之日志】斐讯N1日志内容不显示的问题
前言日志应用空白一片,无东西显示。修复方案使用root登录SSH,或者切换到rootapt update sudo apt-get -o Dpkg::Options::="--force-overwrite" install -y rsyslog这个命令的关键在于 -o Dpkg::Options::="--force-overwrite",它允许 rsyslog 覆盖 trim 包中已有的同名配置文件。会让您输入Y或者N 这个就看个人了。我是输入的都是N安装完成后启动应用systemctl start rsyslog systemctl status rsyslog可选覆盖掉配置在终端shell中,以root用户执行以下复制命令(请根据自己的上传路径修改命令)cp /vol1/1000/文件分享/rsyslog.conf /etc/ mkdir -p /etc/rsyslog.d cp /vol1/1000/文件分享/avahi-daemon.conf /etc/rsyslog.d/{cloud title="蓝奏网盘" type="lz" url="https://daimafengzi.lanzout.com/iCQlv3mf11be" password=""/}{cloud title="百度网盘" type="bd" url="https://pan.baidu.com/s/1JcvWscfj3jC6bk2MJfTuxg?pwd=yqjz" password="yqjz"/}
2026年04月04日
7 阅读
0 评论
0 点赞
2026-03-30
【N1安装飞牛之获取root】FNos飞牛NAS获取root密码详细教程
前言很多刚接触 FNos (飞牛私有云) 的小伙伴常会问:“系统的默认 root 密码是多少?”重要提示: 出于安全考虑,FNos 默认没有预设 root 密码,且禁止 root 直接远程登录。您需要使用首次创建的管理员账号通过 SSH 登录后,手动提权设置。本文将手把手教您如何在 3 分钟内完成设置。🛠️ 一、准备工作在开始之前,请确保您已具备以下条件:管理员账号:您初始化 FNos 时创建的第一个账号(拥有 sudo 权限)。SSH 客户端:Windows 用户:推荐使用 PuTTY、Xshell,或直接使用系统自带终端(Win10/11 按 Win+R 输入 cmd 或 powershell)。Mac/Linux 用户:直接使用系统自带的「终端」(Terminal)。网络环境:电脑与 FNos 设备处于同一局域网,且已知晓 FNos 的 IP 地址。🚀 二、操作步骤详解步骤 1:启动 SSH 连接图形化工具 (PuTTY/Xshell):双击打开软件。命令行工具 (CMD/Terminal):Win: 按 Win + R,输入 cmd 回车。Mac: 在“启动台” -> “其他”中打开“终端”。步骤 2:连接至 FNos 设备在终端中输入以下命令(将 <IP地址> 替换为您实际的 FNos IP):ssh <您的管理员用户名>@<FNos_IP地址> # 例如:ssh admin@192.168.1.100注:默认端口为 22,若未修改过无需额外指定。首次连接提示:若出现Are you sure you want to continue connecting (yes/no/[fingerprint])?请输入 yes 并回车。身份验证:输入管理员账号密码(⚠️ 注意:输入时屏幕不会显示任何字符,这是 Linux 的安全机制,并非键盘失灵,输完直接回车即可)。看到提示符变为 用户名@fnos:~$ 即表示连接成功。步骤 3:设置 Root 密码连接成功后,依次执行以下操作:输入提权命令:sudo passwd root(注意 sudo、passwd、root 之间有空格)验证管理员身份:设定新 Root 密码:成功标志:❓ 三、常见问题解答 (FAQ)Q1:为什么输入密码时屏幕上什么都没显示?A: 这是 Linux/Unix 系统的标准安全机制,防止旁人通过字符长度推测密码。请放心盲打,输完后直接按回车键即可。Q2:提示 user is not in the sudoers file 怎么办?A: 这通常意味着您当前登录的账号不是首次创建的管理员账号。请使用初始化时建立的第一个账号重新登录 SSH。Q3:忘记刚才设置的 Root 密码了?A: 无需重装系统!只需用管理员账号重新登录 SSH,再次执行 sudo passwd root 即可重置。Q4:设置完成后可以直接用 root 登录吗?A: 默认情况下,为了安全,FNos 可能仍禁止 root 直接远程 SSH 登录。建议日常使用普通管理员账号配合 sudo 操作。如确需开启 root 远程登录,需修改 /etc/ssh/sshd_config 文件(新手慎改)。💡 四、总结核心流程仅需三步:SSH 登录:使用管理员账号连接。执行命令:输入 sudo passwd root。双重确认:输入两次新密码。
2026年03月30日
3 阅读
0 评论
0 点赞
2026-03-29
【N1安装飞牛优化四】关闭不必要服务优化记录
可停用服务:插 4G 网卡无法上网。(插网线无影响) sudo systemctl disable ModemManager.service AI 计算管理服务 sudo systemctl disable ai_manager.service # 停止不必要的网络服务 sudo systemctl disable avahi.service sudo systemctl disable avahi-daemon.service # 停止文件监控(利于硬盘休眠) sudo systemctl disable trim_file_monitor.service #仅用于加入 Windows AD 域。家庭 NAS 不需要。 sudo systemctl disable --now winbind.service #Open vSwitch。除非你在 N1 上跑复杂的软路由(如 OpenWrt 旁路由模式)并需要 VLAN 隔离,否则纯 NAS 模式用不到。 sudo systemctl disable --now ovs-vswitchd.service sudo systemctl disable --now ovsdb-server.service #pNFS 块布局映射。这是企业级 NFS 集群用的,单机 NAS 用不到。 sudo systemctl disable --now nfs-blkmap.service # 禁用磁盘阵列监控 (N1 单盘使用,不需要 mdadm 监控) sudo systemctl disable --now mdmonitor.service #电源管理。N1 没有电池,且 USB 硬盘的休眠由飞牛自带的 trim_diskpowerd 控制,不依赖 upower。 sudo systemctl disable --now upower.service停用会出现问题服务: WebDAV 服务:停止了,相册无法启动 sudo systemctl enable cloud_storage_dav.service考虑停用的服务:# 停止缩略图和媒体服务(最占 CPU) sudo systemctl status auto_thumbnailer.service sudo systemctl status mediasrv.service sudo systemctl status imagesrv.service
2026年03月29日
11 阅读
0 评论
0 点赞
2026-03-29
【N1安装飞牛优化三】Btrfs 挂载优化,限制 Docker 日志大小 (防止撑爆硬盘),额外启动参数优化CPU
限制 Docker 日志大小 (防止撑爆硬盘)修改 /etc/docker/daemon.json(如果没有就新建):{ "data-root": "/vol1/docker", "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } }Btrfs 挂载优化第一步:优化系统根分区 (ROOT_EMMC)将系统分区的 defaults,noatime 后面补上压缩参数。替换原有的 / 挂载参数:UUID=b1bd1ce4-2204-4176-919f-973ba364a320 / btrfs defaults,noatime,compress=zstd:1,space_cache=v2,errors=remount-ro 1第二步:强制接管数据分区 (/vol1)在 fstab 的末尾添加一行,显式地指定 /vol1 的挂载选项。这样能确保你在 USB 2.0 硬盘读写时获得更稳的体验:UUID=3b009fa0-dee0-4f30-a79d-869b2f21b013 /vol1 btrfs defaults,noatime,compress=zstd:1,autodefrag,commit=15,space_cache=v2 0 0UUID可以通过: blkid | grep btrfs 进行查询额外启动参数优化CPU因为 N1 用的 A53 的核心非常老,现代 Linux 内核为了防范 CPU 漏洞(幽灵/熔断),默认开启了一堆减慢速度的补丁。由于你的 N1 只是做家庭 NAS,风险极低。我们可以关掉这些防御来提速。🛠️ 操作步骤:编辑 /boot/fnEnv.txt: 找到 extraargs 这一行,在末尾加上 mitigations=off。修改后的 extraargs 应该是这样的:verbosity=1 bootlogo=false console=both fdtfile=amlogic/meson-gxl-s905d-phicomm-n1.dtb extraargs=console=ttyAML0,115200n8 console=tty0 usb-storage.quirks=152d:0576:u kernelfile=vmlinuz-6.18.18-trim mitigations=off initrdfile=uInitrd-6.12.41-trim保存并重启:reboot
2026年03月29日
2 阅读
0 评论
0 点赞
2026-03-29
【N1安装飞牛优化二】限制现有的docker容器使用内存,调整 Swappiness 权重
限制现有的docker容器使用内存批量设置内存上限(复制并执行即可)# 1. 核心数据库(MySQL)限额 256M docker update --memory 256m --memory-swap 256m mysql # 2. 核心网络/Git 工具(mihomo, gogs)限额 128M ~ 256M docker update --memory 256m --memory-swap 256m mihomo docker update --memory 128m --memory-swap 128m gogs # 3. 基础服务组件(PHP, Redis, Nginx)限额 128M docker update --memory 128m --memory-swap 128m fn-php docker update --memory 128m --memory-swap 128m fn-redis docker update --memory 128m --memory-swap 128m fn-nginx # 4. 其他小工具(账本、面板)限额 128M 和 64M docker update --memory 128m --memory-swap 128m cashbook4 docker update --memory 64m --memory-swap 64m metacubexd为什么这样改?--memory 256m:限制该容器最多只能吃掉 256M 物理内存。--memory-swap 256m:限制该容器的“物理内存 + Swap(交换内存)”总共只有 256M。这意味着这个容器严禁过度占用系统资源。一旦这些容器内存超标,Docker 内部会自行清理,而绝不干扰您 OpenVPN 服务器的正常运行。调整 Swappiness 权重低 Swappiness 值,让系统尽量优先使用内存(和我们刚才设置的 ZRAM),减少对闪存的频繁读写。# 查看当前值 (默认通常是 60) cat /proc/sys/vm/swappiness # 临时修改为 10 sysctl vm.swappiness=10 # 永久修改 echo "vm.swappiness=10" >> /etc/sysctl.conf
2026年03月29日
0 阅读
0 评论
0 点赞
1
2
...
27