이 지속적으로 증가 메모리 사용을 일으키는 원인이되는 스크립트의 버전을 박탈, 나는 2 분 지난 6백메가바이트 가서 본 적이있다 :grequests로 "메모리 누수"가 발생 했습니까?
import requests
import grequests
lines = (grequests.get(l.strip(), timeout=15) for l in open('links.txt') if len(l.strip()))
for r in grequests.imap(lines, size=20):
if r.ok:
print r.url
들은 links.txt이 많은 URL을 포함하는 파일입니다, 문제는 내가 수집 한 여러 개의 큰 그룹의 URL에서 발생합니다. 그것은 응답 객체가 deferenced되지 않을 수있는 것처럼 보입니다.
In [2]: gevent.version_info
Out[2]: (1, 0, 0, 'beta', 3)
In [5]: requests.__version__
Out[5]: '0.13.5'
grequests 내가 찾을 수있는 버전 번호를 가지고 있지 않습니다
I 업데이트 gevent, 요청 및 grequests 오늘, 여기에 자신의 버전입니다.
미리 답변 해 주셔서 감사합니다.
링크 목록의 끝까지 스크립트를 실행하면 어떻게됩니까? 어떤 종류의 오류가 발생합니까? – raben
다른 문제를 해결했지만 동일한 문제가 발생했습니다. 응답 개체는 파일 핸들을 열어두고 리소스 소모가 발생합니다. ** 요청 ** 또는 ** grequests ** 문제인지 확실하지 않습니다. 그러나 요청의 저자가 grequests를 표준 모듈의 일부로 포함하지 않는 이유를 알 수 있다고 생각합니다. – synthesizerpatel