Notes on looking at MacOS application/process memory usage

Very briefly, I spent a little time today trying to understand how much memory/RAM a Java/Swing application was really using, and these are my notes from that excursion. Note that the app is bundled as a MacOS/Java app I named AlPad, but from some system perspectives it is only seen by the name JavaAppLauncher. Here are my notes, which will hopefully be useful to me in the future:

Seeing the memory used by an individual MacOS app/process
=========================================================

https://superuser.com/questions/700126/how-can-i-monitor-memory-usage-of-a-process-running-from-the-terminal-in-osx
$ top -l 1 | grep JavaApp | awk '{print "NAME="$2 " MEM="$9 "\tRPRVT="$10}'
NAME=JavaAppLauncher MEM=2212K+    RPRVT=0B

https://apple.stackexchange.com/questions/81838/how-to-find-out-which-process-eats-up-memory
--------------------------------------------------------------------------------------------
> sudo ps -awxm -o %mem,rss,comm | sort -nr | grep AlPad
 %mem  rss    comm
 0.7   115576 /Users/al/Desktop/My-Dock-Apps/AlPad.app/Contents/MacOS/JavaAppLauncher

found this command elsewhere. didn’t help today, maybe look into it more:
    ps -o pid,ucomm,rss

SORT top BY RSIZE
-----------------
top -o -rsize

htop (installed with Homebrew)
------------------------------
- https://hisham.hm/htop/index.php
- shows RES column w/ AlPad at 113MB
- nice ui

time -l
-------
/usr/bin/time -l <DO SOMETHING>
    0.04 real         
    0.00 user
    0.00 sys
   2830336  maximum resident set size       <-- peak memory usage
         0  average shared memory size
         0  average unshared data size
         0  average unshared stack size
       462  page reclaims
       253  page faults

Resident Set Size in Mac OS X
-----------------------------
http://miknight.blogspot.com/2005/11/resident-set-size-in-mac-os-x.html
A process lives in its own segment of virtual memory. Not all of this virtual memory 
is in RAM though. The 'bits' (typically called 'pages') that are in RAM make up 
what is known as the resident set size (RSS) of a process. As a process runs, the 
active parts need to be brought into RAM, becoming part of the RSS.

Wikipedia: In computing, resident set size (RSS) is the portion of memory occupied 
by a process that is held in main memory (RAM). The rest of the occupied memory 
exists in the swap space or file system, either because some parts of the occupied 
memory were paged out, or because some parts of the executable were never loaded.

Again, these are just some raw notes I kept as I was looking into MacOS process memory use. There is a weird thing where my Java/Swing app shows this kind of memory use, but MacOS is showing a much larger number:

Memory Stats:
-------------
Used:  11 MB
Free:  52 MB
Total: 64 MB
Max:   128 MB

It’s been a while since I last looked into Java/JVM memory use, hence these notes.