----- Original Message ----- > The first patch changes dump_kmeminfo() to report overcommit information > similar to that displayed under the proc/meminfo file. It may be useful to > indicate memory over commitment abuse, for example with forced vmcores from > system hangs due to shortage of memory. The intended output is as follows: > > crash> kmem -i > PAGES TOTAL PERCENTAGE > TOTAL MEM 1965332 7.5 GB ---- > FREE 78080 305 MB 3% of TOTAL MEM > USED 1887252 7.2 GB 96% of TOTAL MEM > SHARED 789954 3 GB 40% of TOTAL MEM > BUFFERS 110606 432.1 MB 5% of TOTAL MEM > CACHED 1212645 4.6 GB 61% of TOTAL MEM > SLAB 146563 572.5 MB 7% of TOTAL MEM > > TOTAL SWAP 1970175 7.5 GB ---- > SWAP USED 5 20 KB 0% of TOTAL SWAP > SWAP FREE 1970170 7.5 GB 99% of TOTAL SWAP > > COMMIT LIMIT 2952841 11.3 GB ---- > COMMITTED 1150595 4.4 GB 38% of TOTAL LIMIT > > The second patch simply removes the mention of dump_zone_page_usage() > availability from kmem's help page. > > Tested under 3.16.4-200.fc20.x86_64 only. > Though this should work under RHEL4 (2.6.9-5) and above whereby the > kernel symbol sysctl_overcommit_memory is available. > > Changelog: > > v2 -> v3: > > - Appropriately avoid a divide-by-zero when the "allowed" variable > is correctly set to 0 (e.g. overcommit_ratio is 0 and swap > device is off) > > - Initialised the following members of offset_table in vm_init(): > hstate_order, hstate_nr_huge_pages, hstate_free_huge_pages and > hstate_name > > - percpu_counter_struct_count and atomic_t_counter have > been added to offset_table and each initialised in kernel_init() Hi Aaron, In the interest of moving this patch along, I made three minor changes: (1) Renamed the offset_table "percpu_counter_struct_count" member to use the traditional naming scheme, i.e., "percpu_counter_count". (2) This construct essentially calls the same function 3 times: if (STRUCT_EXISTS("percpu_counter")) if (MEMBER_EXISTS("percpu_counter", "count")) MEMBER_OFFSET_INIT(percpu_counter_struct_count, "percpu_counter", "count"); All that is necessary is this one-liner: MEMBER_OFFSET_INIT(percpu_counter_count, "percpu_counter", "count"); Worse case, the offset gets set to -1 (INVALID). (3) Updated the help page's sample "kmem -i" output. Your patch appended a 11.3 GB COMMIT LIMIT to the output of a 256MB i386 machine. ;-) Queued for crash-7.1.0: https://github.com/crash-utility/crash/commit/2562642c5fc0fa955634b78600f71348e2fcc050 Nice addition. Thanks, Dave -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility