NX-OS runs on Linux Kernel. From kernel's perspective all the NX-OS processes are run in the "User" space. Available DRAM are split into two regions: (1) Kernel space (a.k.a Low Memory region) and (2) User space (a.k.a High Memory region).
The kernel needs memory to store its own text, data, and Kernel Loadable Modules (KLMs). KLMs are pieces of code that are loaded into the kernel (as opposed to being a separate user process). An example of kernel memory usage is when an inband port driver allocates memory to receive packets.
This memory is used by Cisco NX-OS processes (along with Kernel processes that are not integrated into the kernel)
III. What is a Core file ?
Core file is same as crashinfo file generated in Cisco IOS platforms, but with more log and system files bundled together into a tar file.
Core file is generated when a process crash or experience an exception.
Contents of a core file - generated by Nexus7000 switch:
IV. Crash / Exception:
When a specific process (called as Service) crahes, the device should report a log message, as follows:
%SYSMGR-2-SERVICE_CRASHED: Service "vpc" (PID 5883) hasn't caught signal 11 (core will be saved)
Here, service "vpc" has crashed and a core file will be saved.
The device may report message, with no core file created.
%SYSMGR-2-SERVICE_CRASHED: Service "stp" (PID 4668) hasn't caught signal 9 (no core).
Here, sevice "stp" crashed but has not generated any core file.
V. Retreiving Core files:
For Scenario 1 (as mentioned above):
If there is a process crash/exception reported and the switch has NOT reloaded (since the exception/crash), then do "show cores" to get list of cores.