Boo*_*ean 4 python performance
我有一个shell脚本,它调用大约20个python脚本,每个脚本读取至少500MB大小的文件.在运行几个python脚本之后,8GB ram中就有40MB.我尝试了下面的命令,它工作,让我免费5.8 GB内存.
echo 1 > /proc/sys/vm/drop_caches
Run Code Online (Sandbox Code Playgroud)
是否有一种编程方式从python中做到这一点?或者我如何强制python释放它占用的内存?
你为什么不简单地打开文件并写入文件?
with open('/proc/sys/vm/drop_caches', 'w') as stream
stream.write('1\n')
Run Code Online (Sandbox Code Playgroud)
这些都是Python基础知识.
drop_caches-file 是 linux 特定的东西,而不是 python 所做的事情。Python已经释放了内存,只是操作系统还没有从缓存中释放内存。
我对 python 的了解不够多,无法将代码从我的脑海中抛出,但为什么不简单地使用上面的“echo”语句进行系统调用或直接写入 proc 文件系统呢?(当然,要确保脚本在 Linux 机器上运行之后。)