Pagefault tracing helps identify the total pagefaults caused by a thread and process.
Prerequisites
- Linux kernel 4.15 or later is required.
- From the AMDuProf installed directory, run the script AMDuProfSetup.sh with
rootaccess.sudo ./AMDuProfSetup.sh
If you install AMD uProf using DEB installer, the script is run by the installer and the info about eBPF (Extended Berkeley Packet Filter) support on the host and OS tracing support is provided.
Data Collection using CLI
To trace page faults, run the following
command:
AMDuProfCLI collect --trace osrt --osrt-event pagefault -o <output-dir> <application>
Example
amd@uprof-ethanolx5 bin]$ ./AMDuProfCLI t --trace osrt --osrt-event pagefault -o /tmp/ /tmp/ScimarkStable
Profiling started
………
Profiling (data collection) completed
Generated data files path: /tmp/AMDuProf-ScimarkStable-CpuTrace_Sep-06-2024_03-38-23
Here, the generated session directory is /tmp/AMDuProf-ScimarkStable-CpuTrace_Sep-06-2024_03-38-23.
Analyze the Data Using CLI
Generate the csv report to analyze the data in csv
format.
[amd@uprof-ethanolx5 bin]$ ./AMDuProfCLI report -i /tmp/ AMDuProf-ScimarkStable-CpuTrace_Sep-06-2024_03-38-23 Translation started
…
Report generation started
…
Report generation completed...
Generated report file: /tmp/ AMDuProf-ScimarkStable-CpuTrace_Sep-06-2024_03-38-23/report.csv
An example of the pagefault report section in the .csv report file is as follows.
Figure 1. Pagefault Tracing - Pagefault Report
Limitations
- System wide data collection is not supported by pagefault tracing.
- Analyzing the 32-bit applications is not supported.
- Pagefault tracing is supported only in CLI.