Chcę uruchomić program zajmujący pamięć i śledzić zużycie pamięci w czasie. Program kończy się w kilka sekund po wywołaniu.
To poprzednie pytanie sugerowało pakiet sysstat . Chociaż jego pidstat
użyteczność częściowo spełnia moje oczekiwania, nie spełnia moich 2 potrzeb:
- Przyjmuje minimalny odstęp
1s
, ale chcę mierzyć przy mniejszej ziarnistości. (0.1s
powinno być w porządku) - Śledzi tylko istniejący proces, podczas gdy nie zawsze mogę być obecny, aby skopiować i wkleić pid.
Czy istnieją jakieś alternatywne skrypty / narzędzia, które lepiej wykonują zadanie wywoływania i mierzenia?
/proc/$PID/statm
), a następnie spać przez 100 ms i powtórzyć. Dlaczego nie można po prostu zachować rzucanie PID związanystatm
przezcat
, może korzystać z niektórych regex odsączyć / wartości dodatkowych niepotrzebnych, a po prostu zrobićsleep 0.01
? Niektóre systemy operacyjne nie zezwalają nasleep
wartości w sekundach, więc w takim przypadku musisz wybrać trasę w Pythonie (time
zamiast tego użyć wbudowanej biblioteki Pythona do uśpienia).