I'm looking for some software that can analyze/monitor the resource usage (e.g. CPU, RAM, I/O read/writes) of my computer over time (and hopefully be able to save it). Beyond that, I'm wondering if such software could watch certain programs for resource usage and possibly identify when it is limited by my current setup (e.g. if the program runs out RAM, it will note that). Part of what I'm trying to do is identify avenues for future upgrades.
I've been looking for software like this, but haven't been able to find anything.
I'd prefer that it be open source or at least free of charge, if at all possible. The target OS is Windows 7.
Thank you for any help.