Top kernel memory
The kernel memory buckets that are largest or whose daily low is rising, plus a remainder for the rest.
Topic id: top_kernel_memory.
This topic reports what the host looks like rather than scoring a condition on it. The values it carries are queryable on their own.
Fields (18)
Each hour, the kernel memory buckets that are largest or whose daily low is rising, plus a remainder for each kind of memory, so listed rows and remainders add up to the bucket table's total. On Windows a bucket is a pool tag. An owner candidate is where a tag is allocated, not what holds the memory.
Reported every hour on clock boundaries for the window ending at t. sparklogs.window_coverage_pct is below 100 when collection covered only part of the window. Use chart buckets at least 1 hour wide.
Bucket (5)
sparklogs.data.top_kernel_memory. bucket_type pool_tag, a Windows pool allocation tag.sparklogs.data.top_kernel_memory. nameNtfs and NTFS are two buckets). A byte that is not printable, and any \ or |, reads as \xNN. (other) on the remainder row.sparklogs.data.top_kernel_memory. pageabletrue for Windows paged pool, false for nonpaged pool.sparklogs.data.top_kernel_memory. entry_kind bucket for a row naming one bucket, remainder for the row holding every bucket the rankings did not name.sparklogs.data.top_kernel_memory. top_by bytes (the ten largest nonpageable and five largest pageable) and min_1d_delta (the ten whose daily low rose most). Empty on remainder rows.Memory (6)
sparklogs.data.top_kernel_memory. byteskernel_paged_pool_bytes and kernel_nonpaged_pool_bytes: 98 to 99 % of them on Server 2016, and 64 to 91 % on Server 2022, Server 2025 and Windows 11, falling with uptime.sparklogs.data.top_kernel_memory. min_bytes sparklogs.data.top_kernel_memory. max_bytes sparklogs.data.top_kernel_memory. delta_bytes sparklogs.data.top_kernel_memory. outstanding_count sparklogs.data.top_kernel_memory. bucket_count Daily low (3)
sparklogs.data.top_kernel_memory. min_1d_bytes sparklogs.data.top_kernel_memory. min_1d_delta_bytes min_1d_bytes minus its value 24 such windows earlier: a low that keeps rising is what a slow kernel leak looks like, and a busy machine's daily swing is not. Absent on a bucket tracked for under 48 such windows.sparklogs.data.top_kernel_memory. tracked_since_ts Owner guess (4)
sparklogs.data.top_kernel_memory. owner_candidate_ids kernel_drivers rows whose image files contain this tag, up to 3, in id order. This is where the tag is allocated, which is not always who holds the memory: a tag the kernel allocates for a caller, such as File, Toke or IoFE, cannot be traced to that caller and reads owner_os_kernel. Empty when the search matched no driver. Absent before the search, or when more than 3 drivers matched. A driver loaded after the search is not seen. Links nothing when the kernel_drivers topic is off.sparklogs.data.top_kernel_memory. owner_match_count sparklogs.data.top_kernel_memory. owner_basis tag_in_image, a byte search of loaded image files. A guess, never an attribution. Absent before the search.sparklogs.data.top_kernel_memory. owner_os_kernel ntoskrnl.exe or hal.dll contains this tag. Absent before the search.Example
Inventory (every hour)
kernel memory top nonpageable "File" 1360.0 MB; top pageable "FMfn" 2816.0 MB.
sparklogs.data.top_kernel_memory.bucket_type: pool_tag
sparklogs.data.top_kernel_memory.name: FMfn
sparklogs.data.top_kernel_memory.pageable: true
SparkLogs: CONTEXT, Info, top_kernel_memory: INVENTORY: kernel memory top nonpageable "File" 1360.0 MB; top pageable "FMfn" 2816.0 MB.