This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
tutorials:troubleshooting:memory [2015/09/04 00:01] miconda [Memory Manager Debugging] |
tutorials:troubleshooting:memory [2015/11/02 16:25] smititelu |
||
---|---|---|---|
Line 46: | Line 46: | ||
< | < | ||
kamctl stats shmem | kamctl stats shmem | ||
+ | kamcmd mod.stats all shm | ||
</ | </ | ||
Line 52: | Line 53: | ||
< | < | ||
kamcmd pkg.stats | kamcmd pkg.stats | ||
+ | kamcmd mod.stats all pkg | ||
</ | </ | ||
Line 77: | Line 79: | ||
< | < | ||
- | MEMMNG=1 | + | MEMDBG=1 make cfg ... |
</ | </ | ||
Line 98: | Line 100: | ||
Then restart and wait a bit for getting some traffic processed. | Then restart and wait a bit for getting some traffic processed. | ||
+ | |||
+ | MEMMNG=0/ | ||
To get the list of chunks from memory manager, there are two ways: | To get the list of chunks from memory manager, there are two ways: | ||
Line 135: | Line 139: | ||
For PKG is similar format, just SHM replaced with PKG in messages. | For PKG is similar format, just SHM replaced with PKG in messages. | ||
+ | To generate summary report, do: | ||
+ | |||
+ | < | ||
+ | # first set memlog lower than debug | ||
+ | kamcmd cfg.set_now_int core memlog 1 | ||
+ | |||
+ | kamcmd corex.shm_summary | ||
+ | </ | ||
+ | |||
+ | The log for f_malloc with debug enabled should look like: | ||
+ | |||
+ | < | ||
+ | 20(4082) NOTICE: fm_status: summarizing all alloc' | ||
+ | 20(4082) NOTICE: fm_status: | ||
+ | 20(4082) NOTICE: fm_status: | ||
+ | 20(4082) NOTICE: fm_status: | ||
+ | 20(4082) NOTICE: fm_status: | ||
+ | 20(4082) NOTICE: fm_status: | ||
+ | 20(4082) NOTICE: fm_status: | ||
+ | 20(4082) NOTICE: fm_status: | ||
+ | 20(4082) NOTICE: fm_status: | ||
+ | 20(4082) NOTICE: fm_status: | ||
+ | |||
+ | </ | ||
===== Using GDB ===== | ===== Using GDB ===== | ||