@@ -2170,3 +2170,52 @@ def substitute_template(template, variables):
2170
2170
except KeyError as e :
2171
2171
return f"Error: Missing value for { e .args [0 ]} in the vars dictionary."
2172
2172
2173
+ ##############################################################################
2174
+ def get_memory_use (console = False ):
2175
+
2176
+ """
2177
+ Get memory usage
2178
+
2179
+ Args:
2180
+ console (bool): if True, print to console
2181
+
2182
+ Returns:
2183
+ memory_use (int)
2184
+ memory_use_gb (float)
2185
+ available_memory (int)
2186
+ available_memory_gb (float)
2187
+ total_memory (int)
2188
+ total_memory_gb (float)
2189
+
2190
+ """
2191
+
2192
+ import os
2193
+ import psutil
2194
+
2195
+ pid = os .getpid ()
2196
+
2197
+ python_process = psutil .Process (pid )
2198
+
2199
+ memory_use = python_process .memory_info ()[0 ] # in bytes
2200
+ memory_use_gb = memory_use / (1024 ** 3 )
2201
+
2202
+ memory_info = psutil .virtual_memory ()
2203
+
2204
+ available_memory = memory_info .available # in bytes
2205
+ total_memory = memory_info .total # in bytes
2206
+
2207
+ available_memory_gb = available_memory / (1024 ** 3 )
2208
+ total_memory_gb = total_memory / (1024 ** 3 )
2209
+
2210
+ if console :
2211
+ print (f"Total Memory: { total_memory_gb :.2f} GB" )
2212
+ print (f"Available Memory: { available_memory_gb :.2f} GB" )
2213
+ print (f"Used Python Memory: { memory_use_gb :.2f} GB" )
2214
+
2215
+ return {'return' :0 , 'memory_use' : memory_use ,
2216
+ 'memory_use_gb' : memory_use_gb ,
2217
+ 'available_memory' : available_memory ,
2218
+ 'available_memory_gb' : available_memory_gb ,
2219
+ 'total_memory' : total_memory ,
2220
+ 'total_memory_gb' : total_memory_gb }
2221
+
0 commit comments