Changes between Initial Version and Version 10 of Ticket #227


Ignore:
Timestamp:
2015-03-20T20:26:58Z (10 years ago)
Author:
warner
Comment:

I took a quick look at smem today, seems pretty nice. I think the "USS" (Unique Set Size) might be a good thing to track: it's the amount of memory you'd get back by killing the process. For Tahoe, the main thing we care about is that the client process isn't leaking or over-allocating the memory used to hold files during the upload/download process, and that memory isn't going to be shared with any other process. So even if it doesn't answer the "can I fit this tahoe node/workload on my NN-MB computer", it *does* answer the question of whether we're meeting our memory-complexity design goals.

Installing smem requires a bunch of other stuff (python-gtk2, python-tk, matplotlib), since it has a graphical mode that we don't care about, but that's not a big deal. There's a process-filter thing which I can't find documentation on, which we'd need to limit the output to the tahoe client's own PID. And then the main downside I can think of is that you have to shell out to a not-small python program for each sample (vs reading /proc/self/status, which is basically free), so somebody might be worried about the performance impact.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #227

    • Property Status changed from new to assigned
    • Property Cc zandr added
    • Property Component changed from unknown to dev-infrastructure
    • Property Summary changed from pycryptopp uses up a 6 MB of memory (or at least it increases VmSize by 6M) to our automated memory measurements might be measuring the wrong thing
    • Property Keywords memory performance unix added
    • Property Owner changed from nobody to zooko