experimental_experiment.memory_peak

class experimental_experiment.memory_peak.MemorySpy(pid: int, delay: float = 0.01, cuda: bool = False)[source]

Information about the spy. It class method start. Method stop can be called to end the measure.

Parameters:
  • pid – process id of the process to spy on

  • delay – spy on every delay seconds

  • cuda – enable cuda monitoring

start() MemorySpy[source]

Starts another process and tells it to spy.

stop()[source]

Stops spying on.

experimental_experiment.memory_peak.get_memory_rss(pid: int) int[source]

Returns the physical memory used by a process.

Parameters:

pid – process id, current one is os.getpid()

Returns:

physical memory

It relies on the module psutil.

experimental_experiment.memory_peak.start_spying_on(pid: int | None = None, delay: float = 0.01, cuda: bool = False) MemorySpy[source]

Starts the memory spy. The function starts another process spying on the one sent as an argument.

Parameters:
  • pid – process id to spy or the the current one.

  • delay – delay between two measures.

  • cuda – True or False to get memory for cuda devices

Example:

from experimental_experiment.memory_peak import start_spying_on, flatten

p = start_spying_on()
# ...
# code to measure
# ...
stat = p.stop()
print(stat)
print(flatten(stat))