XTLS / Xray-core

Xray, Penetrates Everything. Also the best v2ray-core, with XTLS support. Fully compatible configuration.
https://t.me/projectXray
Mozilla Public License 2.0
25.55k stars 3.95k forks source link

xray 疑似内存泄露内存问题 #1854

Closed lyd123qw2008 closed 1 year ago

lyd123qw2008 commented 1 year ago

昨晚 10 点至 1 点验证的,发现了 xray 有疑似内存泄露。我怀疑 reality vision 这个内存消耗有问题,当天晚上试了几次客户端跑 youtube一段时间后直接断网,然后服务器宕机。我现在是裸机只装 reality。 环境:

  1. xray 版本 v1.8.0;
  2. racknerd;配置 768 MB KVM VPS;Ubuntu 18.04 LTS;

问题具体现象: 我发现 xray 占用的内存比以往高很多。 这是启动一会后的内存占用,刚启动的时候是四十多。 image 过了一分钟之后。内存由 172.1 变成 178.3。 image 又过了一分钟之后。内存由 178.3 变成 191.1。 image 又过了五分钟之后。内存由 191.1 变成 218.2。 image 又过了三分钟之后。内存由 218.2 变成 242。 image 又过了四分钟之后。内存由 242 变成 255.4。 image 至此我把 reality 协议卸载了,重新在我的 vps 上装回了之前 xray 的非 reality 协议。 此时内存恢复正常,占用只有三十多。 image 接着我持续用了一段时间,没有发现内存再攀升。

补充: 07_VLESS_vision_reality_inbounds.json

{
  "inbounds": [
    {
      "port": 23333,
      "protocol": "vless",
      "tag": "VLESSReality",
      "settings": {
        "clients": [
  {
    "id": "cc951f73-1886-4b28-9c0e-36037aa574bc",
    "email": "default-vless_reality_vision",
    "flow": "xtls-rprx-vision"
  }
],
        "decryption": "none",
        "fallbacks":[
            {
                "dest": "31305",
                "xver": 1
            }
        ]
      },
      "streamSettings": {
        "network": "tcp",
        "security": "reality",
        "realitySettings": {
            "show": false,
            "dest": "addons.mozilla.org:443",
            "xver": 0,
            "serverNames": [
                "addons.mozilla.org"
            ],
            "privateKey": "OF4H9m5hKj7FaPPGVaaBw8hfAp9nzDx_sDXTx2QudGM",
            "publicKey": "7sIlwRqYg46EJZGUsToarnqgiQJCGt6JCR20ThhObVI",
            "maxTimeDiff": 70000,
            "shortIds": [
                ""
            ]
        }
      }
    }
  ]
}

08_VLESS_reality_fallback_grpc_inbounds.json

{
  "inbounds": [
    {
      "port": 31305,
      "listen": "127.0.0.1",
      "protocol": "vless",
      "tag": "VLESSRealityGRPC",
      "settings": {
        "clients": [
  {
    "id": "cc951f73-1886-4b28-9c0e-36037aa574bc",
    "email": "default-vless_reality_grpc",
    "flow": ""
  }
],
        "decryption": "none"
      },
      "streamSettings": {
            "network": "grpc",
            "grpcSettings": {
                "serviceName": "grpc",
                "multiMode": true
            },
            "sockopt": {
                "acceptProxyProtocol": true
            }
      }
    }
  ]
}
lyd123qw2008 commented 1 year ago

@RPRX R佬看看

chika0801 commented 1 year ago

我觉得这类问题,你换台VPS,如果没复现,也说不清楚为什么你这台遇到了。如果你换了3台VPS同时复现,那倒有研究的价值。

或者这现象很多人反馈了。一般来说换我是作者我看到这样的,也是帮助不了。

RPRX commented 1 year ago

首先问题报告很规范,不过 Vision + REALITY 的组合已有大量实装,没有人报告过该问题,所以会不会是系统或服务器有问题?

xianren78 commented 1 year ago

会不会和内核有关,之前我有一台日本vps,xray也容易oom,后来换内核OK了。

lyd123qw2008 commented 1 year ago

我是重装系统后用的主页 mack-a 的一键脚本安装的。重装后我只用脚本开启了 bbr + fq 和优化系统配置,然后装了 reality。所以我的机子应该是纯净的。今天早上我又试着开启 reality,发现仍然存在内存攀升问题。

ghost commented 1 year ago

我是重装系统后用的主页 mack-a 的一键脚本安装的。重装后我只用脚本开启了 bbr + fq 和优化系统配置,然后装了 reality。所以我的机子应该是纯净的。今天早上我又试着开启 reality,发现仍然存在内存攀升问题。

所以你還是沒試過換其它系統試試?

lyd123qw2008 commented 1 year ago

我是重装系统后用的主页 mack-a 的一键脚本安装的。重装后我只用脚本开启了 bbr + fq 和优化系统配置,然后装了 reality。所以我的机子应该是纯净的。今天早上我又试着开启 reality,发现仍然存在内存攀升问题。

所以你還是沒試過換其它系統試試?

没有我一直用的是 racknerd 官方提供的 Ubuntu 18.04 with Docker。宕机后重装的,重装后我就没怀疑系统问题了。

lxhao61 commented 1 year ago

昨晚 10 点至 1 点验证的,发现了 xray 有疑似内存泄露。我怀疑 reality vision 这个内存消耗有问题,当天晚上试了几次客户端跑 youtube一段时间后直接断网,然后服务器宕机。我现在是裸机只装 reality。 环境:

  1. xray 版本 v1.8.0;
  2. racknerd;配置 768 MB KVM VPS;Ubuntu 18.04 LTS;

问题具体现象: 我发现 xray 占用的内存比以往高很多。 这是启动一会后的内存占用,刚启动的时候是四十多。 image 过了一分钟之后。内存由 172.1 变成 178.3。 image 又过了一分钟之后。内存由 178.3 变成 191.1。 image 又过了五分钟之后。内存由 191.1 变成 218.2。 image 又过了三分钟之后。内存由 218.2 变成 242。 image 又过了四分钟之后。内存由 242 变成 255.4。 image 至此我把 reality 协议卸载了,重新在我的 vps 上装回了之前 xray 的非 reality 协议。 此时内存恢复正常,占用只有三十多。 image 接着我持续用了一段时间,没有发现内存再攀升。

补充: 07_VLESS_vision_reality_inbounds.json

{
  "inbounds": [
    {
      "port": 23333,
      "protocol": "vless",
      "tag": "VLESSReality",
      "settings": {
        "clients": [
  {
    "id": "cc951f73-1886-4b28-9c0e-36037aa574bc",
    "email": "default-vless_reality_vision",
    "flow": "xtls-rprx-vision"
  }
],
        "decryption": "none",
        "fallbacks":[
            {
                "dest": "31305",
                "xver": 1
            }
        ]
      },
      "streamSettings": {
        "network": "tcp",
        "security": "reality",
        "realitySettings": {
            "show": false,
            "dest": "addons.mozilla.org:443",
            "xver": 0,
            "serverNames": [
                "addons.mozilla.org"
            ],
            "privateKey": "OF4H9m5hKj7FaPPGVaaBw8hfAp9nzDx_sDXTx2QudGM",
            "publicKey": "7sIlwRqYg46EJZGUsToarnqgiQJCGt6JCR20ThhObVI",
            "maxTimeDiff": 70000,
            "shortIds": [
                ""
            ]
        }
      }
    }
  ]
}

08_VLESS_reality_fallback_grpc_inbounds.json

{
  "inbounds": [
    {
      "port": 31305,
      "listen": "127.0.0.1",
      "protocol": "vless",
      "tag": "VLESSRealityGRPC",
      "settings": {
        "clients": [
  {
    "id": "cc951f73-1886-4b28-9c0e-36037aa574bc",
    "email": "default-vless_reality_grpc",
    "flow": ""
  }
],
        "decryption": "none"
      },
      "streamSettings": {
            "network": "grpc",
            "grpcSettings": {
                "serviceName": "grpc",
                "multiMode": true
            },
            "sockopt": {
                "acceptProxyProtocol": true
            }
      }
    }
  ]
}

配置有问题,服务端应该不配置"publicKey": "7sIlwRqYg46EJZGUsToarnqgiQJCGt6JCR20ThhObVI",

FranzKafkaYu commented 1 year ago

请使用top命令或者其他工具查看Xray core的具体占用信息。

RPRX commented 1 year ago

配置有问题,服务器端应该不配置"publicKey": "7sIlwRqYg46EJZGUsToarnqgiQJCGt6JCR20ThhObVI",

其实这个倒没关系,不会解析,写上可以防止忘了,虽然随时可以通过私钥生成

RPRX commented 1 year ago

@lyd123qw2008 你先换其它系统试试,比如用新版 Ubuntu,问题仍存在的话,换其它机器试试

lxhao61 commented 1 year ago

配置有问题,服务端应不配置"publicKey": "7sIlwRqYg46EJZGUsToarnqgiQJCGt6JCR20ThhObVI",

其实际上这个倒没有关系,不会解析,~写上可以防止忘记了,虽然随时可以通过私钥生成~

哦,了解了。

lyd123qw2008 commented 1 year ago

请使用top命令或者其他工具查看Xray core的具体占用信息。

1679725369486

我现在没在用这台机子做代理,它的内存在我开启了 reality 协议后,由 27 左右上升到了 85 左右,现在还在升。

RPRX commented 1 year ago

@lyd123qw2008 你打开防火墙,把 Xray 用的端口都禁了,确保没有外界访问,再看看,如果还是这样,那就很离谱了

lyd123qw2008 commented 1 year ago

@lyd123qw2008 你先换其它系统试试,比如用新版 Ubuntu,问题仍存在的话,换其它机器试试

好的。我没升级新版 ubuntu,因为 22 版要求更高配置,要求内存至少 1g。

1679725730119
FranzKafkaYu commented 1 year ago

请使用top命令或者其他工具查看Xray core的具体占用信息。

1679725369486

我现在没在用这台机子做代理,它的内存在我开启了 reality 协议后,由 27 左右上升到了 85 左右,现在还在升。

这份截图里Xray的占用也还合理。

lyd123qw2008 commented 1 year ago

@lyd123qw2008 你打开防火墙,把 Xray 用的端口都禁了,确保没有外界访问,再看看,~如果还是这样,那就很离谱了~

端口禁了貌似内存比较正常,我单独把 reality 的端口禁了,内存也不会攀升。

lyd123qw2008 commented 1 year ago

@lyd123qw2008 你打开防火墙,把 Xray 用的端口都禁了,确保没有外界访问,再看看,~如果还是这样,那就很离谱了~

端口禁了貌似内存比较正常,我单独把 reality 的端口禁了,内存也不会攀升。

这是关掉 reality 协议对应端口时跑一段时间的内存截图

bc2f8fff00389246983a5156362404c

这是开启 reality 协议对应端口时跑一段时间的内存截图

c36272293326d652827056afe07e561

后者,内存会持续上升。

fs8vsx59h commented 1 year ago

同样是RN机房,我用的RN提供的ubuntu 18.04 docker,使用容器运行没有发现有此问题

lyd123qw2008 commented 1 year ago

同样是RN机房,我用的RN提供的ubuntu 18.04 docker,使用容器运行没有发现有此问题

看下我前面的环境 @fs8vsx59h

我是重装系统后用的主页 mack-a 的一键脚本安装的。重装后我只用脚本开启了 bbr + fq 和优化系统配置,然后装了 reality。所以我的机子应该是纯净的。今天早上我又试着开启 reality,发现仍然存在内存攀升问题。

RPRX commented 1 year ago

@lyd123qw2008 换其它系统试试

lyd123qw2008 commented 1 year ago

@lyd123qw2008 换其它系统试试

@RPRX 我换了 Ubuntu 20.04 LTS。内存占用感觉还是偏高。 image

xianren78 commented 1 year ago

@lyd123qw2008 换其它系统试试

@RPRX 我换了 Ubuntu 20.04 LTS。内存占用感觉还是偏高。

配置里有多少用户?我有vision和XTLS direct,还有trojan,每个有10几个uuid。内存占用就比较高。 Screenshot_2023-03-25-19-54-32-97_61c78dc80ee02b53007c815fefe993e3

lyd123qw2008 commented 1 year ago

@lyd123qw2008 换其它系统试试

@RPRX 我换了 Ubuntu 20.04 LTS。内存占用感觉还是偏高。 image

配置里有多少用户?

我服务器端有两个 reality,一个 vision 、一个 grpc。没有很多。

1679745567786
RPRX commented 1 year ago

@lyd123qw2008 新系统会炸吗

lyd123qw2008 commented 1 year ago

@lyd123qw2008 新系统会炸吗

@RPRX 我换过 ubuntu 20、debian 10 都有内存占用高的问题。系统没炸,但是内存基本跑满了。

chika0801 commented 1 year ago

你换过VPS商家的机子对比测试了吗?

lyd123qw2008 commented 1 year ago

你换过VPS商家的机子对比测试了吗?

暂时没有能用的其他 vps 机子。有需要可以提供我机子,你可以登录上去看看。

chika0801 commented 1 year ago

我不提供机子。建议你多准备些VPS。

lyd123qw2008 commented 1 year ago

我不提供机子。建议你多准备些VPS。

我现在这台机子,可以给你上去看。

chika0801 commented 1 year ago

我不提供机子。建议你多准备些VPS。

我现在这台机子,可以给你上去看。

也不必了,我许多VPS,没复现过你的现象。

lyd123qw2008 commented 1 year ago

@RPRX 我知道什么原因,我自己整的乌龙,我公司里电脑也连了这个端口的 reality,我在家里重置了 reality 协议后,公司电脑这边一直在连接报错,我现在把公司电脑客户端这边配置弄好了,内存也正常了。 image image

RPRX commented 1 year ago

其实 SpiderX 有个参数可以让客户端等一段时间再返回错误,今天更新 example

piyoki commented 1 year ago

@lyd123qw2008 你打开防火墙,把 Xray 用的端口都禁了,确保没有外界访问,再看看,~如果还是这样,那就很离谱了~

端口禁了貌似内存比较正常,我单独把 reality 的端口禁了,内存也不会攀升。

这是关掉 reality 协议对应端口时跑一段时间的内存截图 bc2f8fff00389246983a5156362404c 这是开启 reality 协议对应端口时跑一段时间的内存截图 c36272293326d652827056afe07e561 后者,内存会持续上升。

我也遇到类似的问题了,基本跟你描述的情况一摸一样也是 用 mack-a 的腳本安裝的。懷疑是 reality 导致的内存攀升。

keaidang commented 1 year ago

我也遇到了该问题我有一个美国的vps还有一个在新加坡但是我判断这不是因为reality造成的问题因为 2台 vps我同样都搭载了 reality协议,

image

image 我不明白该问题的原因在哪里两台vps我都是使用的同样的安装方法搭建的,其中一台的内存只有512兆但是同样reality协议它的占用却很小,1g版本则占用很高,跑分时几乎内存占满两台设备同时使用会导致vps死机,重启后可恢复.

keaidang commented 1 year ago
image

我使用的是dibian12系统,两台vps系统一样,都是同版本x-ray,x-ui,reality但是内存占用相差很大

chika0801 commented 1 year ago

建议楼上2位,可以设置一个定时任务,每天重启1次xray,顺便更新geo文件,再观察一下。

或者不用面板,自己手动安装xray测试下。

lifei6671 commented 1 year ago

我两台Debian,一个是11 一个是12,也观察到xray会随着时间内存越来越大。

kindle939393 commented 11 months ago

我也一样,reality协议 手机跑测速 然后就会内存爆炸

qwr6868 commented 9 months ago

我也是

qwr6868 commented 9 months ago

内存越来越大 超过之后程序重启内存又跌回来 然后反反复复

zhuxining commented 8 months ago

+1 同样的问题,用的是mack-a大佬的脚本安装的,内存越来越大导致超过之后程序重启内存又跌回来,中间会造成服务停止不可用状态,vps也不断在报警 image


Linux 6.6.0-14-generic -Ubuntu SMP PREEMPT_DYNAMIC Thu Nov 30 10:27:29 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux