Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python垃圾收集在python中是自动的吗?_Python - Fatal编程技术网

python垃圾收集在python中是自动的吗?

python垃圾收集在python中是自动的吗?,python,Python,请告诉我python如何删除python进程中运行的不需要的数据 当python进程终止时,会自动删除吗 我有一个必须运行数月的服务器进程,那么在这种情况下,它会为那些不需要的数据保留内存吗?是的,Python垃圾收集器会删除所有未引用的对象。该特征基于引用计数。但是,它也可以处理循环引用 当然,当进程终止时,它的所有资源都会被释放。然而,它相当依赖于操作系统 [编辑] 对于长寿命进程,至少存在两种内存泄漏的可能性: 该过程可能会永久保留对对象的引用 带有终结器(。\uu del\uu()方法

请告诉我python如何删除python进程中运行的不需要的数据

当python进程终止时,会自动删除吗


我有一个必须运行数月的服务器进程,那么在这种情况下,它会为那些不需要的数据保留内存吗?

是的,Python垃圾收集器会删除所有未引用的对象。该特征基于引用计数。但是,它也可以处理循环引用

当然,当进程终止时,它的所有资源都会被释放。然而,它相当依赖于操作系统

[编辑]

对于长寿命进程,至少存在两种内存泄漏的可能性:

  • 该过程可能会永久保留对对象的引用
  • 带有终结器(
    。\uu del\uu()
    方法)的对象可能会陷入不可收集的循环中(有关详细信息,请参阅)

是的。一旦Python进程停止,所有消耗的内存都将释放。还有一个自动垃圾收集器也在运行,它将清除未使用的变量。但是,在设计时,您的工作是规划保存在内存中的数据。对于运行数年的进程,它会长期保存这些数据吗?数据将保存在内存中,直到进程生命周期结束时才会删除。提供了流程正在使用(或在流程当前范围内引用)的数据。Python的GC将处理创建的局部变量,但即使在进程运行时也不再使用。如果进程运行多年,它会将这些数据保留很长时间吗