
Giampaolo Rodola initially developed and currently maintains the PsUtil code. PsUtil is a Python package with functionality to easily obtain system utilization information. This is due to the alignment of top and provides much cleaner output: cut memory_raw -d',' -f3 | tee memory_used_withlabel.txtĬut memory_used_withlabel.txt -d' ' -f3 | tee memory_used.Want to monitor the CPU and RAM usage of your Linux system from your own Python program? Then you came to the right place! This article teaches you how to install the PsUtil package into your Python virtual environment and how you can use it to monitor the CPU and RAM usage from your own Python program.

As we later found out, it is much faster to leave out the cut command during data acquisition, then perform the cut command on the output file later.Īlso, we had no need for timestamps in our tests.īegin Logging: top -bd 0.1 | grep 'KiB Mem' | tee memory_raw.txtĢ levels of cut (filtering), first by comma, then by space. It does turn out that piping through cut cause MASSIVE delay in getting anything out to file. In my case I wanted to use top also because you can run memory stats faster than 1 second per capture, as you can see here I wanted to capture a stat every 1/10th of a second. The user can indeed modify the 0.1 to another number in order to run different capture sample rates.

The standard output from top when grep ing with Kib Mem is: KiB Mem : 16047368 total, 8708172 free, 6015720 used, 1323476 buff/cacheīy running this through cut, we filter down to literally just the number prior to used OR: top -bd 0.1 | grep 'KiB Mem' | cut -d' ' -f10 | tee memory.txt So here is the answer that I came up with: top -bd 0.1 | grep 'KiB Mem' | cut -d' ' -f10 > memory.txt all will seem to output without excess filtering. So I know that I am late to this game, but I just came up with this answer, as I needed to do this, and really didn't want the extra fields that vmstat, free, etc.
