1. A method of managing software application workloads, the method comprising: starting a software application from a startup script on a machine, said startup script including a set of startup tasks, said machine including an operating system, said operating system including a kernel; receiving an application group identifier from said kernel; associating each of said startup tasks with said application group identifier until said startup script ends; associating the application group identifier with processes that are forked off during the running of the startup script; requesting application group identifiers from said kernel at startup of workload management processing; determining a correspondence between the application group identifiers returned from said kernel and one or more workloads; if said application group identifier is equal to a workload, requesting said kernel to aggregate usage data for said application group identifier; if said application group identifier is not equal to a workload, determining a set of application group identifiers that comprise a workload, and request said kernel to aggregate usage data for said set of application group identifiers, wherein the workload is identified by a set of application group identifiers when the application group identifier is not equal to a workload; receiving said aggregated usage data from said kernel; and processing the received aggregated usage data to manage said workload.