When using a standard Oracle Linux template based installation on the Oracle Public cloud and you try to start the perf command you will be hit by an error. Reason for this is that the perf command in part of the deployment however in a broken form. The libdw.so.1 is missing which is needed to start perf. For this reason we have to ensure that libdw.so.1 is available on the system.
libdw.so.1 is part of the elfutils lib, meaning you will have to install elfutils with yum. elfutils is a collection of utilities and libraries to read, create and modify ELF binary files, find and handle DWARF debug data, symbols, thread state and stacktraces for processes and core files on GNU/Linux.
Executable and Linkable Format (ELF, formerly called Extensible Linking Format) is a common standard file format for executables, object code, shared libraries, and core dumps. First published in the System V Release 4 (SVR4) Application Binary Interface (ABI) specification, and later in the Tool Interface Standard, it was quickly accepted among different vendors of Unix systems. In 1999 it was chosen as the standard binary file format for Unix and Unix-like systems on x86 by the 86open project.
In effect the issue you will see is the following prior to fixing the issue:
To install the needed package you can make use of the standard Oracle Linux YUM repository and execute the below command:
Now you can check that the needed file is present on the system as shown below:
This will also make that if you want to start perf you will no longer be facing an issue and you will have the full capability of perf when needed:
libdw.so.1 is part of the elfutils lib, meaning you will have to install elfutils with yum. elfutils is a collection of utilities and libraries to read, create and modify ELF binary files, find and handle DWARF debug data, symbols, thread state and stacktraces for processes and core files on GNU/Linux.
Executable and Linkable Format (ELF, formerly called Extensible Linking Format) is a common standard file format for executables, object code, shared libraries, and core dumps. First published in the System V Release 4 (SVR4) Application Binary Interface (ABI) specification, and later in the Tool Interface Standard, it was quickly accepted among different vendors of Unix systems. In 1999 it was chosen as the standard binary file format for Unix and Unix-like systems on x86 by the 86open project.
In effect the issue you will see is the following prior to fixing the issue:
[opc@jenkins-dev 1]$ perf /usr/libexec/perf.3.8.13-118.14.2.el6uek.x86_64: error while loading shared libraries: libdw.so.1: cannot open shared object file: No such file or directory [opc@jenkins-dev 1]$
To install the needed package you can make use of the standard Oracle Linux YUM repository and execute the below command:
yum -y install elfutils
Now you can check that the needed file is present on the system as shown below:
[root@jenkins-dev ~]# ls -la /usr/lib64/libdw.so.1 lrwxrwxrwx 1 root root 14 Mar 5 11:04 /usr/lib64/libdw.so.1 -> libdw-0.164.so [root@jenkins-dev ~]#
This will also make that if you want to start perf you will no longer be facing an issue and you will have the full capability of perf when needed:
[root@jenkins-dev ~]# perf usage: perf [--version] [--help] COMMAND [ARGS] The most commonly used perf commands are: annotate Read perf.data (created by perf record) and display annotated code archive Create archive with object files with build-ids found in perf.data file bench General framework for benchmark suites buildid-cache Manage build-id cache. buildid-list List the buildids in a perf.data file diff Read two perf.data files and display the differential profile evlist List the event names in a perf.data file inject Filter to augment the events stream with additional information kmem Tool to trace/measure kernel memory(slab) properties kvm Tool to trace/measure kvm guest os list List all symbolic event types lock Analyze lock events record Run a command and record its profile into perf.data report Read perf.data (created by perf record) and display the profile sched Tool to trace/measure scheduler properties (latencies) script Read perf.data (created by perf record) and display trace output stat Run a command and gather performance counter statistics test Runs sanity tests. timechart Tool to visualize total system behavior during a workload top System profiling tool. trace strace inspired tool probe Define new dynamic tracepoints See 'perf help COMMAND' for more information on a specific command. [root@jenkins-dev ~]#
No comments:
Post a Comment