开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 586|回复: 28
收起左侧

[已解决] 如何优化软件长时间后内存变大

 关闭 [复制链接]
结帖率:86% (6/7)
发表于 2024-4-23 22:22:59 | 显示全部楼层 |阅读模式   云南省大理白族自治州
20精币
调试状态下,开始只是五十多MB左右,随着时间运行,占用内存越来越大,递增应该是 0.几 到 1mb ,目前已经快1个GB了
有什么优化办法吗?同时也用了 内存加速优化v1.7 这个模块
1.png 2.png 3.png


最佳答案

查看完整内容

.版本 2 .DLL命令 EmptyWorkingSet, 整数型, "psapi", "EmptyWorkingSet", , 整理内存 .参数 Phnd, 整数型, , 进程句柄 EmptyWorkingSet (-1) 补充内容 (2024-4-24 01:03): 试试这个,我也是用的鱼刺的线程池,用这个可以释放掉,十分钟释放一次

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:100% (20/20)

签到天数: 17 天

发表于 2024-4-23 22:23:00 | 显示全部楼层   河南省濮阳市
  
DLL命令名返回值类型公开备 注
EmptyWorkingSet整数型 整理内存
DLL库文件名:
psapi
在DLL库中对应命令名:
EmptyWorkingSet
参数名类 型传址数组备 注
Phnd整数型进程句柄

  
EmptyWorkingSet (-1)




补充内容 (2024-4-24 01:03):
试试这个,我也是用的鱼刺的线程池,用这个可以释放掉,十分钟释放一次

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:100% (2/2)

签到天数: 15 天

发表于 2024-4-23 22:24:46 | 显示全部楼层   贵州省毕节市
你申请了没有释放 和内存加速优化无关

点评

申请内存 释放内存 配套着用的   贵州省毕节市  发表于 2024-4-23 22:25
回复

使用道具 举报

结帖率:86% (6/7)

签到天数: 9 天

 楼主| 发表于 2024-4-23 22:29:09 | 显示全部楼层   云南省大理白族自治州
笨来无一悟 发表于 2024-4-23 22:24
你申请了没有释放 和内存加速优化无关

写了呀,主线程里面申请的,子程序 开始就写了释放内存。

.版本 2
.支持库 spec

urllist = 指针到文本 (指针参数)
释放内存 (指针参数)


补充内容 (2024-4-23 22:51):
暴涨倒是没有,基本是是0.几 到 1 的增加,目前已经1.1G了

点评

刚刚拿易语言自带的启动线程测试了一下 没有内存暴涨的问题   贵州省毕节市  发表于 2024-4-23 22:47
回复

使用道具 举报

结帖率:100% (5/5)

签到天数: 6 天

发表于 2024-4-23 22:33:11 | 显示全部楼层   河南省南阳市
你换个别的线程池试试
回复

使用道具 举报

结帖率:86% (6/7)

签到天数: 9 天

 楼主| 发表于 2024-4-23 22:36:41 | 显示全部楼层   云南省大理白族自治州
啷纳格啷 发表于 2024-4-23 22:33
你换个别的线程池试试

额 我用的鱼刺的 别的还真不晓得有哪些
回复

使用道具 举报

结帖率:100% (5/5)

签到天数: 6 天

发表于 2024-4-23 22:39:57 | 显示全部楼层   河南省南阳市
Av0x 发表于 2024-4-23 22:36
额 我用的鱼刺的 别的还真不晓得有哪些

感觉是内存申请了,没释放掉
回复

使用道具 举报

结帖率:86% (6/7)

签到天数: 9 天

 楼主| 发表于 2024-4-23 22:42:11 | 显示全部楼层   云南省大理白族自治州
啷纳格啷 发表于 2024-4-23 22:39
感觉是内存申请了,没释放掉

蛋疼,投递任务的子程序里面写了释放内存 不晓得为啥不行 可能位置错了?
回复

使用道具 举报

结帖率:100% (3/3)

签到天数: 8 天

发表于 2024-4-23 22:56:15 | 显示全部楼层   河南省新乡市
.版本 2

.DLL命令 SetProcessWorkingSetSize, 整数型, "kernel32.dll", "SetProcessWorkingSetSize"
    .参数 hProcess, 整数型
    .参数 最小进程容量, 整数型
    .参数 最大进程容量, 整数型

.DLL命令 OpenProcess, 整数型, "kernel32.dll", "OpenProcess"
    .参数 进程对象, 整数型
    .参数 继承句柄, 整数型
    .参数 进程标识符, 整数型

.DLL命令 GetCurrentProcessId, 整数型, "kernel32.dll", "GetCurrentProcessId"

.版本 2

.全局变量 ProcessHandle, 整数型


ProcessHandle = OpenProcess (2035711, 0, GetCurrentProcessId ())
SetProcessWorkingSetSize (ProcessHandle, -1, -1)
[Erlang] 纯文本查看 复制代码
.版本 2

.DLL命令 SetProcessWorkingSetSize, 整数型, "kernel32.dll", "SetProcessWorkingSetSize"
    .参数 hProcess, 整数型
    .参数 最小进程容量, 整数型
    .参数 最大进程容量, 整数型

.DLL命令 OpenProcess, 整数型, "kernel32.dll", "OpenProcess"
    .参数 进程对象, 整数型
    .参数 继承句柄, 整数型
    .参数 进程标识符, 整数型

.DLL命令 GetCurrentProcessId, 整数型, "kernel32.dll", "GetCurrentProcessId"

.版本 2

.全局变量 ProcessHandle, 整数型



ProcessHandle = OpenProcess (2035711, 0, GetCurrentProcessId ())
SetProcessWorkingSetSize (ProcessHandle, -1, -1)


这样就行了  

评分

参与人数 1好评 +1 精币 +2 收起 理由
Av0x + 1 + 2 感谢分享,很给力!~

查看全部评分

回复

使用道具 举报

结帖率:86% (6/7)

签到天数: 9 天

 楼主| 发表于 2024-4-23 22:59:46 | 显示全部楼层   云南省大理白族自治州
你华总i 发表于 2024-4-23 22:56
.版本 2

.DLL命令 SetProcessWorkingSetSize, 整数型, "kernel32.dll", "SetProcessWorkingSetSize"

请问 这个放在代码哪个位置呢
ProcessHandle = OpenProcess (2035711, 0, GetCurrentProcessId ())
SetProcessWorkingSetSize (ProcessHandle, -1, -1)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表