Python クライアント サーバー アプリケーションがあり、そのサーバーは約 4 日間実行されています...そのメモリ使用量 (/proc/PID/status -> VmSize で報告) が約 660Mb に達しました。メモリ リークの可能性があるため、objgraphを使用してメモリ使用量 (最初の 20 個のオブジェクト タイプ) を出力しました。
58524 tuple
33270 dict
15483 function
9976 list
5396 set
2644 weakref
2489 builtin_function_or_method
2482 instancemethod
1898 OrderedSet
1751 _BindParamClause
1680 _generated_label
1485 Comparator
1398 type
1315 InstrumentedAttribute
1267 CustomColumn
1165 cell
1146 ScalarAttributeImpl
1146 ColumnProperty
1146 ColumnLoader
1075 wrapper_descriptor
そこには特に「臭い」ものは何もありません。何か不足していますか? おそらくこれは、Pythonが未使用のメモリをすぐに OS に解放しないためでしょうか?
(これは CherryPy+SQLAlchemy アプリケーションです)