社区
脚本语言
帖子详情
Python循环脚本占用的内存越来越大怎么解决
李英俊小朋友
2019-01-17 12:35:06
用python写了一个脚本。
用的是while True的循环。
基本内容是一直检测图像中某一个点的颜色,是否是某个颜色,如果是就进行操作。
运行的时候,打开任务管理器,可以看到Python.exe的内存越来越大。
过一段时间,脚本就不起作用了,卡住了。
用了多线程的方式,也没法解决。
请问有什么好的办法吗。
...全文
6725
6
打赏
收藏
Python循环脚本占用的内存越来越大怎么解决
用python写了一个脚本。 用的是while True的循环。 基本内容是一直检测图像中某一个点的颜色,是否是某个颜色,如果是就进行操作。 运行的时候,打开任务管理器,可以看到Python.exe的内存越来越大。 过一段时间,脚本就不起作用了,卡住了。 用了多线程的方式,也没法解决。 请问有什么好的办法吗。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pqwer99
2021-01-19
打赏
举报
回复
2
以前也遇到这样的问题,在函数shujucaiji里用while 1: 和 sleep,结果高CPU和高内存,后来把while和sleep去掉,用下面的方式就没问题了,可以参考一下。 # 设置定时器,每t秒采集一次 t = 15.0 cj = threading.Timer(t, shujucaiji) while 1: cj.run() cj.finished.clear()
geek_puddin
2021-01-19
打赏
举报
回复
试试用生成器呢
Daniel_wcy
2021-01-18
打赏
举报
回复
引用 5 楼 CalvinXu17 的回复:
import gc gc.collect()
没用
CalvinXu17
2019-12-20
打赏
举报
回复
import gc gc.collect()
linurm
2019-08-23
打赏
举报
回复
1
最快的解决办法就是让python运行一段时间,自动关掉,再重启,当然重启后可以接着你上次的运行
李英俊小朋友
2019-01-17
打赏
举报
回复
以下是代码: #!/usr/bin/env python # -*- coding: UTF-8 -*- # coding=utf-8 """ @author: Li Tian @contact: 694317828@qq.com @software: pycharm @file: hunshi_test3.py @time: 2019/1/12 20:20 @desc: 魂十测试3 """ import pyautogui as ptg import time import gc from threading import Thread import yinyangshi.parameters as par import yinyangshi.setting as sett from yinyangshi.baigui_test import click_motion, just_motion, click_small from yinyangshi.random_file import * import yinyangshi.baigui_test as ghost1 import yinyangshi.fight_for_boys as ffb def yaoqing1(): """接收邀请和自动邀请""" while sett.state: sett.yaoqing1 = ptg.pixelMatchesColor(par.hs_yaoqing_loc[0], par.hs_yaoqing_loc[1], par.hs_yaoqing_color) if sett.yaoqing1: click_small(par.hs_yaoqing_loc) time.sleep(pause_time() + 2) time.sleep(pause_time()) def yaoqing2(): """接收邀请和自动邀请""" while sett.state: sett.yaoqing2 = ptg.pixelMatchesColor(par.hunshi_yaoqing_loc[0], par.hunshi_yaoqing_loc[1], par.hunshi_yaoqing_color) if sett.yaoqing2: click_small(par.hunshi_yaoqing_loc) time.sleep(pause_time() + 2) time.sleep(pause_time()) def run1(): # 主循环 while sett.state: # 接受别人邀请的人,只需要点击结算界面 # 监测胜利还是失败 sett.hunshi_win = ptg.pixelMatchesColor(par.hunshi_loc[0], par.hunshi_loc[1], par.hunshi_color) if sett.hunshi_win and sett.state: # 战斗结束 # 点击领取奖励 click_motion(par.hunshi_loc) time.sleep(pause_time()) click_motion(par.hs_jiesuan_loc) time.sleep(pause_time()+2) time.sleep(pause_time()) def run2(): # 主循环 while sett.state: sett.hs_jiesuan = ptg.pixelMatchesColor(par.hs_jiesuan_loc[0], par.hs_jiesuan_loc[1], par.hs_jiesuan_color) if sett.hs_jiesuan and sett.state: # 领取奖励 # 点击返回 time.sleep(pause_time()+2) sett.number += 1 click_motion(par.hs_jiesuan_loc) time.sleep(pause_time()) click_motion(par.hs_jiesuan_loc) time.sleep(pause_time()) click_motion(par.hs_jiesuan_loc) time.sleep(pause_time()+3) # 魂十刷完了 print('完成第' + str(sett.number) + '次魂十。。。') time.sleep(pause_time()) def main(): gc.enable() threads_list = [] t1 = Thread(target=run1) threads_list.append(t1) t2 = Thread(target=run2) threads_list.append(t2) t3 = Thread(target=yaoqing2) threads_list.append(t3) t4 = Thread(target=yaoqing1) threads_list.append(t4) th = Thread(target=ghost1.hook) threads_list.append(th) t5 = Thread(target=ffb.run2) threads_list.append(t5) for i in threads_list: i.start() for j in threads_list: j.join() if __name__ == '__main__': main()
python
脚本
实例(计算
内存
大小)
1、计算
内存
占用
大小 ps 可以查看进程的
内存
占用
大小,写一个
脚本
计算一下所有进程所
占用
内存
大小的和。 # -*- coding: utf-8 -*- import os list = [] sum = 0 #获取ps数据 str1 = os.popen('ps aux','r').readlines() #数据格式化筛选只要第5列,并添加进列表 for i in str1: str2 = i.split() new_rss = str2[5] list.append(new_rss) #计算列表中的全部数值 for i in list[1:-1]:
Python
定时任务
脚本
每天运行一次
用
Python
写一个定时
脚本
,最简单的方案就是使用while True: + sleep()实现定时任务。 这种方法的思路是使用while
循环
不断检查当前时间,如果达到预设的时间点,就执行任务,然后使用sleep()函数让程序暂停一段时间,避免
占用
过多资源。 例如,如果你想让程序每天早上8点打印一句话,你可以写出以下代码:
python
内存
消耗为什么那么大_
python
循环
1000次,
内存
越来越
大,如何
解决
?
python
话说会自己管理
内存
,实际上,对于
占用
很大
内存
的对象,并不会马上释放。举例,a=range(10000*10000),会发现
内存
飙升一个多G,del a 或者a=[]都不能将
内存
降下来。。del 可以删除多个变量,del a,b,c,d办法:import gc (garbage collector)del agc.collect()马上
内存
就释放了。在I
Python
中用run运行程序时,...
【
解决
】
Python
程序运行时所占
内存
越来越
大
【
解决
】在编写
Python
程序时发现我的程序运行时所消耗的
内存
会
越来越
大,我针对这个问题进行了多方面尝试,最终成功
解决
了它。
【
python
】
python
跑长时间
脚本
运行导致的
内存
和CPU的
占用
高的
解决
python
脚本
占用
内存
和cpu使用率高的情况
脚本语言
37,719
社区成员
34,239
社区内容
发帖
与我相关
我的任务
脚本语言
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
复制链接
扫一扫
分享
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
试试用AI创作助手写篇文章吧
+ 用AI写文章