#!/usr/bin/env python from __future__ import print_function import sys import gc import os def open_files(number, close=False): for i in range(number): fn = '__{}.tmp'.format(i) f = open(fn, 'wb', 0) if close: f.close() os.unlink(fn) if i % 10000 == 0: print('>>>', i) def run(close): open_files(number, close) gc.collect() print('Tracked objects:', len(gc.get_objects())) _input = getattr(__builtins__, 'raw_input', input) _input('Press Enter to continue...') if __name__ == '__main__': try: number = int(sys.argv[1]) except (ValueError, IndexError): number = 100000 print('Usage: ./memory.py 100000') run(True) run(False)