Using ltrace to see what ipmctl and ndctl are doing

Occasionally, it is necessary to debug commands that are slow. Or you may simply be interested in learning how the tools work. While there are many strategies, here are some simple methods that show code flow and timing information.

To show a high-level view of where the time is being spent within libipmctl, use:

# ltrace -c -o ltrace_library_count.out -l '*ipmctl*' ipmctl show -memoryresources

To show a high-level view of where the time is being spent within libndctl, use:

# ltrace -c -o ltrace_library_count.out -l '*ndctl*' ipmctl show -memoryresources

To show a high-level view of where the time is being spent within libipmctl and libipmctl, use:

# ltrace -c -o ltrace_library_count.out -l '*ipmctl*' -l '*ndctl*' ipmctl show -memoryresources

To trace all libipmctl and libndctl functions, use:

ltrace -l '*ndctl*' -l '*ipmctl*' ipmctl version

To include the time spent within each function, use:

ltrace -T -l '*ndctl*' -l '*ipmctl*' ipmctl version

Flame graphs can be very useful. See http://www.brendangregg.com/flamegraphs.html .

How To Install and Boot VMWare VSphere/ESXi from Persistent Memory (or not)

How To Install and Boot VMWare VSphere/ESXi from Persistent Memory (or not)

In a previous post I described how to install and boot Linux using only Persistent Memory, no SSDs are required.

Read More
How To Install and Boot Microsoft Hyper-V 2019 from Persistent Memory (or not)

How To Install and Boot Microsoft Hyper-V 2019 from Persistent Memory (or not)

In a previous post I described how to install and boot Fedora Linux using only Persistent Memory, no SSDs are required.

Read More
I Turned Myself Into an Action Figure

I Turned Myself Into an Action Figure

Part of being in tech, especially in emerging memory technology, is constantly switching between the serious and the surreal.

Read More