Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: 内存占用很高 #5186

Closed
2 tasks done
258599 opened this issue Jun 4, 2024 · 18 comments
Closed
2 tasks done

[Bug]: 内存占用很高 #5186

258599 opened this issue Jun 4, 2024 · 18 comments
Labels
bug Something isn't working

Comments

@258599
Copy link

258599 commented Jun 4, 2024

预期情况

没有

实际情况

win7,8G内存,没开v2rayN前内存占用10几,开了v2rayN后内存占用狂飙到70%左右,退出v2rayN后内存又掉回10几左右,v2rayN:6.39,更新至6.45还是一样,win10没有发现内存占用高的问题

快照2
快照3

复现方法

没有

日志信息

没有

额外信息

No response

我确认已更新至最新版本

我确认已查询历史issues

@258599 258599 added the bug Something isn't working label Jun 4, 2024
@2dust
Copy link
Owner

2dust commented Jun 5, 2024

v2rayN只占用了75M内存

@2dust 2dust closed this as completed Jun 5, 2024
@258599
Copy link
Author

258599 commented Jun 5, 2024

v2rayN只占用了75M内存

是呀,开v2rayN之前54个进程,开了v2rayN多了两个进程,一个v2rayN,一个xray,显示占用都不高,可是总数却狂飙到70%,退出又掉下来,再开总数又升上去,反复开关,就会反复升降,屡试不爽,怪事,我也不知道哪里出了问题,再开个浏览器就差不多飙上八九十了,多开几个网页就有顿挫感,说明内存真实占用接近百分之百了

@258599
Copy link
Author

258599 commented Jun 5, 2024

确实诡异,我已经按内存占用排序了,高内存占用的进程都在前面了,第二张图56个进程的总数加起来,感觉也不可能到70%呀,可是总数就是显示70左右,而且内存不是瞬时高,开着v2rayN是持续的高

@test3uninstall
Copy link

.Net8.0的锅,与v2rayN无关,可以通过禁用.Net8.0的W^R功能来解决。
设置环境变量:DOTNET_EnableWriteXorExecute=0

@258599
Copy link
Author

258599 commented Jun 13, 2024

.Net8.0的锅,与v2rayN无关,可以通过禁用.Net8.0的W^R功能来解决。 设置环境变量:DOTNET_EnableWriteXorExecute=0

谢谢,我试一下

@test4uninstall
Copy link

问题解决了吗

@258599
Copy link
Author

258599 commented Jun 17, 2024

问题解决了吗

还没试楼上的办法(⌒_⌒),不晓得内存有没有狂飙!win7不是主力机,少用,用v2rayN更少。现在win7有点开始扛不住,很多软件都逐步开始不支持win7,正准备一劳永逸,升到win10算了

@258599
Copy link
Author

258599 commented Jun 19, 2024

问题解决了吗

解决了,楼上的的办法有效,开v2rayN后内存不在疯了一样狂飙

@test4uninstall
Copy link

.Net8.0的锅,与v2rayN无关,可以通过禁用.Net8.0的W^R功能来解决。 设置环境变量:DOTNET_EnableWriteXorExecute=0

可以把这个解决方法写进Wiki里吗?@2dust

@2dust
Copy link
Owner

2dust commented Jun 21, 2024

.Net8.0的锅,与v2rayN无关,可以通过禁用.Net8.0的W^R功能来解决。 设置环境变量:DOTNET_EnableWriteXorExecute=0

可以把这个解决方法写进Wiki里吗?@2dust

直接写代码里面吧

@test4uninstall
Copy link

.Net8.0的锅,与v2rayN无关,可以通过禁用.Net8.0的W^R功能来解决。 设置环境变量:DOTNET_EnableWriteXorExecute=0

不是W^R,是W^X。

@test4uninstall
Copy link

.Net8.0的锅,与v2rayN无关,可以通过禁用.Net8.0的W^R功能来解决。 设置环境变量:DOTNET_EnableWriteXorExecute=0

可以把这个解决方法写进Wiki里吗?@2dust

直接写代码里面吧

要在被运行前设置环境变量才有用,这样是没有用的,已经测试过问题依旧。
也不推荐自动设置全局环境变量,还是写进Wiki里吧。

@2dust
Copy link
Owner

2dust commented Jun 22, 2024

Environment.SetEnvironmentVariable("DOTNET_EnableWriteXorExecute", "0", EnvironmentVariableTarget.Process);

@test4uninstall 这个代码值有问题吗?

@test4uninstall
Copy link

Environment.SetEnvironmentVariable("DOTNET_EnableWriteXorExecute", "0", EnvironmentVariableTarget.Process);

@test4uninstall 这个代码值有问题吗?

代码没有问题,但是环境变量要在v2rayN.exe被打开之前设置才会生效,运行的那一瞬间W^X就已经被启动了,此时再改环境变量已经没用了。

@test4uninstall
Copy link

或者可以在设置中加入“禁用.Net Core Write Xor Execute”开关,后面写个说明“针对所有使用.Net Core的应用,重启生效”
或者可以放一个cmd脚本,内容这样写:

@echo off
set DOTNET_EnableWriteXorExecute=0
start v2rayN.exe
exit

@2dust
Copy link
Owner

2dust commented Jun 22, 2024

Environment.SetEnvironmentVariable("DOTNET_EnableWriteXorExecute", "0", EnvironmentVariableTarget.Process);
这代码就是设置环境变量的,只针对当前进程生效,如果你测试了不生效,那等下我修改成当前用户生效

@2dust
Copy link
Owner

2dust commented Jun 22, 2024

v2rayN_x64_net8.zip

改成这样,理论上应该有效,如果启动一次无效可以再启动一次
Environment.SetEnvironmentVariable("DOTNET_EnableWriteXorExecute", "0", EnvironmentVariableTarget.User);

@test4uninstall
Copy link

v2rayN_x64_net8.zip

改成这样,理论上应该有效,如果启动一次无效可以再启动一次 Environment.SetEnvironmentVariable("DOTNET_EnableWriteXorExecute", "0", EnvironmentVariableTarget.User);

可以,第二次启动就生效了,内存占用变低了。

ShiinaRinne pushed a commit to ShiinaRinne/v2rayN that referenced this issue Jul 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants