小白求助,nat拼好机爆内存

【结帖】LXC 架构 384M 内存,高延迟(300msRTT)环境下跑speedtest导致 V2bX OOM 怎么解?

1. 环境背景 (Environment)

  • 虚拟化架构: LXC 容器 (共享内核)
  • 操作系统: Debian 12 (系统占用约 70M) alpine也试过,也不太行
  • 硬件配置: 1 vCPU / 384MB RAM
  • 服务端应用: V2bX (VLESS + Reality)

2. 问题描述 (The Issue)

在高并发或大流量测速时,当速度冲到 500Mbps 左右,V2bX 进程就会被系统 OOM-Kill (status 9/KILL)。
只有测speedtest才会,看8k和网盘下载都没问题

核心矛盾:

曾尝试将缓冲区缩小到 4M,但依然会爆。很诡异

3. 已尝试的优化手段 (Troubleshooting)

A. Go 运行时环境调优

在 systemd 服务文件中配置了环境变量,尝试压制 Go 的内存伸缩。

  • 结果: 依然会爆。

**B. 限速尝试

尝试过限速100m,但测speedtest就会杀v2bx进程

C. 内核缓冲区调整

  • 尝试修改 net.ipv4.tcp_rmem 和 tcp_wmem 为 4MB 左右,没啥用

后面观察speedtest并发tcp包特别多,能达到250+,不知道是不是这个问题(开单线程不会爆,但是速度只有30左右),实际用起来也没问题,不去管它了

7 个赞

换xray-core

忘记说了,一开始用的singbox,换xray死的更快

破案了…speedtest测速给干进来220个tcp连接…平常根本用不到这么多,直接限制并发数就行

刚想回复你,我平时就 MemoryHigh=256M 用这个限制systemd进程,从来没爆过。用的xray 26.5.9

佬,我是alpine,我那家用的debian镜像不太好,开机就占用130,我也没dd。现在已投降,拥抱hy2 :sob:

你这lxc开什么swap lxcswap看母机的啊
容器内出现啥都不奇怪
384m 128m上ss2022给其他机器当出口都能跑高速 他家的啥啊 e3还是什么鬼东西吗 这384m一个测速就炸?

不是到怎么回事swap能开起来,母鸡9950x,cpu没啥负载,内存oom了。不过ss开销比vless reality低吧

那我没什么招了 swap开了的的确确是没用的
换alpine+3xui看看 我之前256m的落地这么高速跑了很久都没问题

1 个赞

有点好奇你是怎么设定swap的,我记得LXC应该是没办法在容器内部自己设swap的吧,我估计是实际上根本没开

这么小的内存如果没有分发节点的需求还是别用V2bX了,它内存占用可不小,直接手搓配置得了

这个感觉还是太大了,我看你前面说延迟300ms,这个参数是需要根据RTT和目标带宽计算带宽时延积来确定的。再加上你系统和V2bX本身应该占了不小内存,你试试调到16MB以下吧,最好先只给8M,如果稳定下来了再慢慢往上调整,比如:

net.core.rmem_max = 8388608
net.core.wmem_max = 8388608

net.ipv4.tcp_rmem = 4096 87380 8388608
net.ipv4.tcp_wmem = 4096 65536 8388608

如果节点只是你自己用的,并发连接量不大也可以往上取一点,但是不建议超过16MB。

3 个赞

另外你这个帖子内容明显是LLM帮你润色过的。AI生成、润色内容不能直接发出来,赶紧改一下吧。

1 个赞

不好意思佬,上午改来改去没搞好昏头了,叫ai生成了个md,还错误百出,我这个参数改成过4m,限制100m也爆内存(只要测speedtest就必爆,但放8k和拉网盘下文件就啥事没有,不知道啥情况)

测Speedtest确实是会爆并发连接数的,384MB内存不适合高速跑大并发量测试。可以看看单线程测速能不能满足你的需要,定个合适的值先凑合用吧。
还是建议别在这么小内存的机器上用面板,尤其V2board内存占用真的不低,直接跑裸核+手搓配置能剩下很大一部分内存

1 个赞

后面查了下好像是商家开的swap,但是测speedtest进程死太快了,用不到就炸了。不过实际用没问题,不折腾了

2 个赞

lxc 用 v2bx?lxc 开机场吗

没,买了十几台这种拼好机,手动导入太慢了,索性就用xboard配v2bx了