Debugging hidden memory leaks in Ruby
samsaffron.comOP here, if you have any questions or tips for other similar tools you use I would love to hear!
It's not necessarily about the content, per se, but I personally had no idea what "RSS" was (I was confused for a bit about what your program had to do with it). Maybe you could have expanded the abbreviation once at the start to "resident set size" so it would aid me being able to look it up?
RSS is really common terminology for the topic (memory allocation). You couldn't Google for 'RSS memory'? I don't agree that every article should cater to a layperson who has zero domain knowledge.
I did in fact search for "RSS memory" and found what I was looking for, but I personally thought it was unclear from context what it was as RSS itself has a very strong association with another acronym (full disclosure: at the beginning of the article I though "consuming 128 MB of RSS" meant that this was an RSS parser that leaked memory) and I was more familiar with the term as a process's "working set size" rather than "resident set size".
Well unless you are not working on a kernel / libc / compiler component, I'm sure that the closest thing to encountering 'RSS Memory' (meaning Residential Set Size which is the memory of a processes that resides in physical RAM but not in swap memory), would be to open up 'top' or 'htop' in the terminal to see that figure.
But no, this isn't an everyday term by average users, but I would expect at least software engineers to be familiar with the term.
I don’t think it’s a common abbreviation for Windows developers. Process Explorer calls that “working set” instead.
Linux users's first encounter with `ps` command usually leads to stackoverflow's question on RSS.
The terms do get a bit tricky, with forking servers like "unicorn" that do copy-on-write memory we also have the term PSS which is a far more accurate was to calculate memory impact for such servers.
The difference between the RAM your program uses to PSS to actual memory your process can reach vs the memory your program has allocated can all make your head spin. Agree it makes sense to add a section to illustrate this.