alist icon indicating copy to clipboard operation
alist copied to clipboard

新版alist内存消耗翻了5倍以上,怀疑存在内存泄漏?

Open Oliv1a opened this issue 1 year ago • 17 comments

Please make sure of the following things

  • [X] I have read the documentation. 我已经阅读了文档

  • [X] I'm sure there are no duplicate issues or discussions. 我确定没有重复的issue或讨论。

  • [X] I'm sure it's due to AList and not something else(such as Network ,Dependencies or Operational). 我确定是AList的问题,而不是其他原因(例如网络依赖操作)。

  • [X] I'm sure this issue is not fixed in the latest version. 我确定这个问题在最新版本中没有被修复。

AList Version / AList 版本

v3.29.1

Driver used / 使用的存储驱动

百度网盘

Describe the bug / 问题描述

从本机存储选择了20-30个大小平均为1GB左右的文件给百度网盘(官方接口)复制的时候,alist进程消耗的内存是v3.28.0的5倍以上,2GB物理内存直接卡死,增加了2GB虚拟内存也还是不够还是卡死,最后2GB物理内存+4GB虚拟内存才让系统不被卡死。但任务上传也明显不正常,上传了超级久,最后绝大多数任务还都失败了,怀疑任务失败是不是也是和这个内存问题有关?还是仅仅是新版百度网盘驱动的问题?使用的是alist-linux-arm-7.tar.gz的软件包,有截图。

Reproduction / 复现链接

只有内网环境,无法提供测试链接,但有截图。

Config / 配置

无论是alist配置还是存储配置都和v3.28.0完全一致,没有任何区别,应该不是配置的问题,如果需要的话,可以进一步提供。

Logs / 日志

下图为v3.29.1内存占用: 内存 下图为v3.28.0内存占用: 原始 下图为v3.29.1最后的复制出错: 报错

Oliv1a avatar Nov 27 '23 03:11 Oliv1a

内网?百度网盘客户端better 从报错信息上看,也有可能和上传带宽不足、网络波动有关系 有可能是队列开太多了,你改成单任务看看

BlueSkyXN avatar Nov 29 '23 02:11 BlueSkyXN

内网?百度网盘客户端better 从报错信息上看,也有可能和上传带宽不足、网络波动有关系 有可能是队列开太多了,你改成单任务看看

截图中使用的就是默认的3任务上传,配置一直没动过,主要是新版的内存消耗比之前消耗高了太多倍,之前2G物理内存绰绰有余,现在2G物理内存直接卡到死机,2G内存+2G虚拟内存也不够,得开到2G内存+4G虚拟内存才够,升级前后alist内存消耗差异巨大,5-10倍的差异,这个情况正常吗?如果新版alist就是需要6G内存,那我就没什么问题了。百度网盘我单任务尝试过,单任务上传消耗的内存刚好在2G物理内存可以承受的范围内,所以没问题。我主要是怀疑30个任务25个出错这种情况是不是和这个内存消耗问题有关?

Oliv1a avatar Nov 29 '23 03:11 Oliv1a

内网?百度网盘客户端better 从报错信息上看,也有可能和上传带宽不足、网络波动有关系 有可能是队列开太多了,你改成单任务看看

截图中使用的就是默认的3任务上传,配置一直没动过,主要是新版的内存消耗比之前消耗高了太多倍,之前2G物理内存绰绰有余,现在2G物理内存直接卡到死机,2G内存+2G虚拟内存也不够,得开到2G内存+4G虚拟内存才够,升级前后alist内存消耗差异巨大,5-10倍的差异,这个情况正常吗?如果新版alist就是需要6G内存,那我就没什么问题了。百度网盘我单任务尝试过,单任务上传消耗的内存刚好在2G物理内存可以承受的范围内,所以没问题。我主要是怀疑30个任务25个出错这种情况是不是和这个内存消耗问题有关?

并发->1,retry->1看看

BlueSkyXN avatar Nov 29 '23 05:11 BlueSkyXN

内网?百度网盘客户端better 从报错信息上看,也有可能和上传带宽不足、网络波动有关系 有可能是队列开太多了,你改成单任务看看

截图中使用的就是默认的3任务上传,配置一直没动过,主要是新版的内存消耗比之前消耗高了太多倍,之前2G物理内存绰绰有余,现在2G物理内存直接卡到死机,2G内存+2G虚拟内存也不够,得开到2G内存+4G虚拟内存才够,升级前后alist内存消耗差异巨大,5-10倍的差异,这个情况正常吗?如果新版alist就是需要6G内存,那我就没什么问题了。百度网盘我单任务尝试过,单任务上传消耗的内存刚好在2G物理内存可以承受的范围内,所以没问题。我主要是怀疑30个任务25个出错这种情况是不是和这个内存消耗问题有关?

并发->1,retry->1看看

神奇,在存储配置里把百度网盘的上传线程改为1后,内存消耗控制住了,虽然内存占用还是不低,但2GB物理内存可以正常运行了,而且发现在线程为1的情况下,同时上传的文件数居然为5,我记得之前百度网盘一直是默认同时3文件上传,我还一直以为这个线程数就是同时上传的文件数……难道多占用的内存就是因为现在同时上传5个了?……而且这还是线程改为了1,难道说线程默认为3的话会同时上传15个文件?在官网上查了一下也没找到相关资料和说法,非常感谢!另外,这个retry改为1是有什么地方可以设置还是说让我把上传失败的文件一个一个手动重试?alist里好像并没有这个设置项目

Oliv1a avatar Nov 30 '23 13:11 Oliv1a

内网?百度网盘客户端better 从报错信息上看,也有可能和上传带宽不足、网络波动有关系 有可能是队列开太多了,你改成单任务看看

截图中使用的就是默认的3任务上传,配置一直没动过,主要是新版的内存消耗比之前消耗高了太多倍,之前2G物理内存绰绰有余,现在2G物理内存直接卡到死机,2G内存+2G虚拟内存也不够,得开到2G内存+4G虚拟内存才够,升级前后alist内存消耗差异巨大,5-10倍的差异,这个情况正常吗?如果新版alist就是需要6G内存,那我就没什么问题了。百度网盘我单任务尝试过,单任务上传消耗的内存刚好在2G物理内存可以承受的范围内,所以没问题。我主要是怀疑30个任务25个出错这种情况是不是和这个内存消耗问题有关?

并发->1,retry->1看看

又多测试了几次,上传线程改为1的情况下,会同时上传5个文件,有时候还是会内存耗尽卡死系统,不知道有没有什么办法回到之前的同时最多上传3个文件?

Oliv1a avatar Nov 30 '23 13:11 Oliv1a

我这边也有类似的问题,同样也是百度网盘,单个文件上传就是正常的,多个大文件并发上传的话,就大概率会报31299 Invalid Param keylist错误。

javalaw avatar Dec 01 '23 04:12 javalaw

内网?百度网盘客户端better 从报错信息上看,也有可能和上传带宽不足、网络波动有关系 有可能是队列开太多了,你改成单任务看看

截图中使用的就是默认的3任务上传,配置一直没动过,主要是新版的内存消耗比之前消耗高了太多倍,之前2G物理内存绰绰有余,现在2G物理内存直接卡到死机,2G内存+2G虚拟内存也不够,得开到2G内存+4G虚拟内存才够,升级前后alist内存消耗差异巨大,5-10倍的差异,这个情况正常吗?如果新版alist就是需要6G内存,那我就没什么问题了。百度网盘我单任务尝试过,单任务上传消耗的内存刚好在2G物理内存可以承受的范围内,所以没问题。我主要是怀疑30个任务25个出错这种情况是不是和这个内存消耗问题有关?

并发->1,retry->1看看

又多测试了几次,上传线程改为1的情况下,会同时上传5个文件,有时候还是会内存耗尽卡死系统,不知道有没有什么办法回到之前的同时最多上传3个文件?

配置文件支持修改每种任务的同时运行数量

xhofe avatar Dec 03 '23 07:12 xhofe

内网?百度网盘客户端better 从报错信息上看,也有可能和上传带宽不足、网络波动有关系 有可能是队列开太多了,你改成单任务看看

截图中使用的就是默认的3任务上传,配置一直没动过,主要是新版的内存消耗比之前消耗高了太多倍,之前2G物理内存绰绰有余,现在2G物理内存直接卡到死机,2G内存+2G虚拟内存也不够,得开到2G内存+4G虚拟内存才够,升级前后alist内存消耗差异巨大,5-10倍的差异,这个情况正常吗?如果新版alist就是需要6G内存,那我就没什么问题了。百度网盘我单任务尝试过,单任务上传消耗的内存刚好在2G物理内存可以承受的范围内,所以没问题。我主要是怀疑30个任务25个出错这种情况是不是和这个内存消耗问题有关?

并发->1,retry->1看看

又多测试了几次,上传线程改为1的情况下,会同时上传5个文件,有时候还是会内存耗尽卡死系统,不知道有没有什么办法回到之前的同时最多上传3个文件?

配置文件支持修改每种任务的同时运行数量

"tasks": { "download": { "workers": 3, "max_retry": 1 }, "transfer": { "workers": 3, "max_retry": 1 }, "upload": { "workers": 3, "max_retry": 1 }, "copy": { "workers": 3, "max_retry": 1 } },

这样可以吗

woshichenghaibo avatar Dec 04 '23 12:12 woshichenghaibo

我现在遇到了一个问题。展示大量缩略图的时候接口响应502。查看了log 发现io不足。 能否控制每次展示略缩图的任务数量? WechatIMG73598

yinbohang avatar Dec 06 '23 01:12 yinbohang

内网?百度网盘客户端better 从报错信息上看,也有可能和上传带宽不足、网络波动有关系 有可能是队列开太多了,你改成单任务看看

截图中使用的就是默认的3任务上传,配置一直没动过,主要是新版的内存消耗比之前消耗高了太多倍,之前2G物理内存绰绰有余,现在2G物理内存直接卡到死机,2G内存+2G虚拟内存也不够,得开到2G内存+4G虚拟内存才够,升级前后alist内存消耗差异巨大,5-10倍的差异,这个情况正常吗?如果新版alist就是需要6G内存,那我就没什么问题了。百度网盘我单任务尝试过,单任务上传消耗的内存刚好在2G物理内存可以承受的范围内,所以没问题。我主要是怀疑30个任务25个出错这种情况是不是和这个内存消耗问题有关?

并发->1,retry->1看看

又多测试了几次,上传线程改为1的情况下,会同时上传5个文件,有时候还是会内存耗尽卡死系统,不知道有没有什么办法回到之前的同时最多上传3个文件?

配置文件支持修改每种任务的同时运行数量

收到,原来是在配置文件中配置,我还寻思着之前无论是配置文件还是官网文档都仔仔细细看过好多遍,原来是新版带来了新的配置选项,以后就有经验了,每次升级后先看看配置文件有没有什么新选项!感谢提醒!

Oliv1a avatar Dec 06 '23 11:12 Oliv1a

所以问题的原因只是新版本并发数量增加所以影响了内存占用吗?

IAALAI avatar Dec 06 '23 17:12 IAALAI

所以问题的原因只是新版本并发数量增加所以影响了内存占用吗?

不是。我实测的结果是,哪怕是在相同的同时上传(从本机存储复制)3个任务的情况下,新版本内存占用依然可以达到40%以上,而老版本3个任务只占用15%的内存。只能说降低并发任务是没办法的办法。

Oliv1a avatar Dec 07 '23 13:12 Oliv1a

我现在遇到了一个问题。展示大量缩略图的时候接口响应502。查看了log 发现io不足。 能否控制每次展示略缩图的任务数量? WechatIMG73598

你看看配置文件中的max_connections选项对你有没有帮助

Oliv1a avatar Dec 07 '23 14:12 Oliv1a

内网?百度网盘客户端better 从报错信息上看,也有可能和上传带宽不足、网络波动有关系 有可能是队列开太多了,你改成单任务看看

截图中使用的就是默认的3任务上传,配置一直没动过,主要是新版的内存消耗比之前消耗高了太多倍,之前2G物理内存绰绰有余,现在2G物理内存直接卡到死机,2G内存+2G虚拟内存也不够,得开到2G内存+4G虚拟内存才够,升级前后alist内存消耗差异巨大,5-10倍的差异,这个情况正常吗?如果新版alist就是需要6G内存,那我就没什么问题了。百度网盘我单任务尝试过,单任务上传消耗的内存刚好在2G物理内存可以承受的范围内,所以没问题。我主要是怀疑30个任务25个出错这种情况是不是和这个内存消耗问题有关?

并发->1,retry->1看看

又多测试了几次,上传线程改为1的情况下,会同时上传5个文件,有时候还是会内存耗尽卡死系统,不知道有没有什么办法回到之前的同时最多上传3个文件?

配置文件支持修改每种任务的同时运行数量

"tasks": { "download": { "workers": 3, "max_retry": 1 }, "transfer": { "workers": 3, "max_retry": 1 }, "upload": { "workers": 3, "max_retry": 1 }, "copy": { "workers": 3, "max_retry": 1 } },

这样可以吗

对的,实测workers可以控制同时上传/复制等任务的数量

Oliv1a avatar Dec 07 '23 14:12 Oliv1a

我现在遇到一个问题。展示大量的时候接口响应502。查看日志发现io不足。能否控制每次展示略缩图的任务数量?微信IMG73598

你看看配置文件中的max_connections选项对你有没有帮助

我修改了max_connections=10 但是对缩略图来说并没有任何作用

yinbohang avatar Dec 08 '23 01:12 yinbohang

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Jan 21 '24 03:01 stale[bot]

我也发现了,内存太大


发件人: stale[bot] @.> 发送时间: 2024年1月21日 11:59 收件人: alist-org/alist @.> 抄送: woshichenghaibo @.>; Comment @.> 主题: Re: [alist-org/alist] 新版alist内存消耗翻了5倍以上,怀疑存在内存泄漏? (Issue #5583)

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

― Reply to this email directly, view it on GitHubhttps://github.com/alist-org/alist/issues/5583#issuecomment-1902493741, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ATGWDIMAEKJY5J5HUEYFVVTYPSHBPAVCNFSM6AAAAAA73L7FNOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBSGQ4TGNZUGE. You are receiving this because you commented.Message ID: @.***>

woshichenghaibo avatar Jan 23 '24 00:01 woshichenghaibo

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Mar 07 '24 05:03 stale[bot]

Hello @, this issue was closed due to inactive more than 52 days. You can reopen or recreate it if you think it should continue. Thank you for your contributions again.

github-actions[bot] avatar Mar 22 '24 00:03 github-actions[bot]