Форум сайта python.su
Задача узнать сколько памяти отжирает некоторое приложение, написал такой код
import subprocess, ctypes
DWORD = ctypes.c_ulong
class PROCESS_MEMORY_COUNTERS(ctypes.Structure):
_field_ =[("cb",DWORD),
("PageFaultCount",DWORD),
("PeakWorkingSetSize",ctypes.c_size_t),
("WorkingSetSize",ctypes.c_size_t),
("QuotaPeakPagedPoolUsage",ctypes.c_size_t),
("QuotaPagedPoolUsage",ctypes.c_size_t),
("QuotaPeakNonPagedPoolUsage",ctypes.c_size_t),
("QuotaNonPagedPoolUsage",ctypes.c_size_t),
("PagefileUsage",ctypes.c_size_t),
("PeakPagefileUsage",ctypes.c_size_t)
]
arg = PROCESS_MEMORY_COUNTERS()
process = subprocess.Popen("Notepad")
print ctypes.windll.Psapi.GetProcessMemoryInfo(int(process._handle),arg,0)
Офлайн
arg.byref()?
or
import win32process
print win32process.GetProcessMemoryInfo(int(process._handle))
насчет хэндла я не уверен.
Отредактировано (Ноя. 26, 2007 07:03:04)
Офлайн