Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions pyperf/_psutil_memory.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import os
try:
from pyperf._utils import USE_PSUTIL
from pyperf._utils import USE_PSUTIL, BSD
if not USE_PSUTIL:
raise ImportError
else:
Expand All @@ -21,7 +21,12 @@ def __init__(self):
self._quit = False

def get(self):
usage = self.process.memory_full_info().uss
if BSD:
# USS (Unique Set Size) is not supported on BSD,
# use RSS (Resident Set Size) instead.
usage = self.process.memory_info().rss
else:
usage = self.process.memory_full_info().uss
self.peak_usage = max(self.peak_usage, usage)

def run(self):
Expand Down
9 changes: 5 additions & 4 deletions pyperf/_runner.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@
set_highest_priority)
from pyperf._formatter import format_timedelta
from pyperf._hooks import get_hook_names
from pyperf._utils import (MS_WINDOWS, MAC_OS, abs_executable,
from pyperf._utils import (MS_WINDOWS, abs_executable,
WritePipe, get_python_names,
merge_profile_stats)
from pyperf._system import OS_LINUX
from pyperf._worker import WorkerProcessTask


Expand Down Expand Up @@ -346,10 +347,10 @@ def _process_args_impl(self):
if args.track_memory:
if MS_WINDOWS:
from pyperf._win_memory import check_tracking_memory
elif MAC_OS:
from pyperf._psutil_memory import check_tracking_memory
else:
elif OS_LINUX:
from pyperf._linux_memory import check_tracking_memory
else:
from pyperf._psutil_memory import check_tracking_memory
err_msg = check_tracking_memory()
if err_msg:
raise CLIError("unable to track the memory usage "
Expand Down
1 change: 1 addition & 0 deletions pyperf/_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
USE_PSUTIL = not bool(sysconfig.get_config_var('Py_GIL_DISABLED'))
MS_WINDOWS = (sys.platform == 'win32')
MAC_OS = (sys.platform == 'darwin')
BSD = ('bsd' in sys.platform)

if MS_WINDOWS:
import msvcrt
Expand Down
9 changes: 5 additions & 4 deletions pyperf/_worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
from pyperf._formatter import (format_number, format_value, format_values,
format_timedelta)
from pyperf._hooks import instantiate_selected_hooks
from pyperf._utils import MS_WINDOWS, MAC_OS, percentile, median_abs_dev
from pyperf._utils import MS_WINDOWS, percentile, median_abs_dev
from pyperf._system import OS_LINUX


MAX_LOOPS = 2 ** 32
Expand Down Expand Up @@ -327,12 +328,12 @@ def start(self):
if MS_WINDOWS:
from pyperf._win_memory import get_peak_pagefile_usage
self.get_peak_profile_usage = get_peak_pagefile_usage
elif MAC_OS:
from pyperf._psutil_memory import PeakMemoryUsageThread
elif OS_LINUX:
from pyperf._linux_memory import PeakMemoryUsageThread
self.mem_thread = PeakMemoryUsageThread()
self.mem_thread.start()
else:
from pyperf._linux_memory import PeakMemoryUsageThread
from pyperf._psutil_memory import PeakMemoryUsageThread
self.mem_thread = PeakMemoryUsageThread()
self.mem_thread.start()

Expand Down