If the programs are quit, the kernel_task does not relinquish the new RAM it's using, since the system services are still active even though the programs themselves are not. At this point the system has loaded and interacted with some services these programs need (networking, authentication, firewall, graphics, and user input), so the kernel_task has increased its RAM footprint to accommodate those tasks being active. The task will idle with this level of RAM until you decide to do something with your system, so if I open a few applications (Word, Pages, iCal, Safari, Preview, etc.) then the amount of RAM used by the kernel_task increases to around 370MB. When you then start using your system and activating features like your iSight camera, Wi-Fi services, switching GPUs, and using external devices, then the kernel_task will make use of the resources for these devices and will grow in size.įor instance, on my MacBook Pro running OS X 10.7 Lion, an initial boot will show the kernel_task process taking up 330-340MB of RAM. Therefore, if you initially start up your system and check Activity Monitor, you may see the kernel_task process taking up a relatively small amount of RAM. The system may be ready to use them, but will not load them fully until needed. When the system starts up, even though you may have kernel extensions loaded, not all of the services are active. Beside Safari and some other applications, the process "kernel_task" may take up a large amount of system memory (click for larger view). In essence, the kernel is responsible for running your hardware and making the hardware resources available to applications and system services.
In addition, the kernel can be modified and given enhanced functionality by loading kernel extensions (kexts) to supply system-level management of features like Bluetooth and Wi-Fi, graphics processors, third-party hardware, access to peripheral devices, and special filesystem support. These include the management of multitasking scheduling, virtual memory, system input and output, and various communication routines between processes.
The kernel in OS X is the software architecture that is responsible for handling resources that processes and programs need.
One regular culprit for using a lot of RAM is Safari, but in addition you will see another process called "kernel_task" that also will regularly use a few hundred megabytes of real RAM and seem to increase its RAM footprint with system usage. Seeing this in Activity Monitor can be handy for figuring out which tasks are taking up an unexpected amount of CPU or RAM. As expected, some processes will take up more RAM and CPU time than others. If you launch the Activity Monitor utility on your Mac, you will be able to see what processes are running and what system resources they are using.