Introduction

  • RDK PROC ANALYZER is a tool that enables different teams like development, triage and testing to analyze the CPU and memory utilization of the processes that run on top of RDK framework.
  • It helps us in detecting the memory leaks, cpu and memory performance regressions.
  • This tool is implemented as a service.
  • Highly configurable (Parameters like period , time interval and processes to be monitored can be configured).

Code Flow

  • The main code flow of CPU Procanalyzer -

  • To get the Load Average information- 

  •  To get the Memory information- 

  • To get the Idle Percent Information-

How to Launch

This tool runs as a service.

If the file /tmp/PROC_ANALYZER_ENABLE is touched the tool starts running and it logs the details.

How to Configure:

1 Open  ‘/opt/rmfconfig.ini’ file on the device.

    Parameters that can be configured:

                   (a)Time Interval

                   (b)Period

                   (c)Enable Dynamic

(a) Time Interval : It is the amount of time the tool runs.

(b) Period        : It is the interval of time for which the tool records the information.

(c)Enable Dynamic : This is a flag to disable and enable the capturing of dynamic processes
                     ( Enable Dynamic = 1 means enable and Enable Dynamic =0 means disable ).

It would take the default values if not configured (sleepsecs:60, Time to run:0, Dynamic:1)


Ex: FEATURE.CPUPROCANALYZER. SLEEP.SECS=60

    FEATURE.CPUPROCANALYER.TIMETORUN.SECS = 0 (which means tool runs until it is killed manually)

    FEATURE.CPUPROCANALYZER.DYNAMIC = 1


2. Open ‘/opt/processes.list’ file on the device.

  File to configure process names to be monitored


  • No labels

8 Comments

  1. If the output path could also be configurable that would be great

    1. Hi Vivek,

      Could you please provide more information on this query.?

      1. Hi Ganesh,


        I see that as of now the path where the output files are written is hardcoded as /opt/logs/. But this tool can be used to monitor the health of the system for a longer periods as well, in that case, the default /opt/logs directory could run out of space. This is more true with client devices where the /opt space is small. Providing an optional arg as to where to store the output files would be more flexible.


        Also I observed few more issues on attempts to use this.

        1) there is no link or attachment for the visualizer. I had to get it from Unknown User (mounika_lingam) offline.

        2) there are empty files found in the resultant directory, which prevented from showing anything on the graphical part. I heard from mounika that the empty files may prevent anything from showing in the visualizer.

        3) there are duplicate process & thread entries in the drop downs in the visualizer, choosing most of them didn't show anything on the visualizer

        4) from the data I collected I didn't see the overall system cpu & memory usage graph, I only saw process wise graphs but that too as I mentioned in the previous comment were duplicates or didn't show anything on the graph

        1. Created RDKCOM-2098 to track the request



  2. Unknown User (aamalric)

    Hi, Is it possible to get the visualizer ?

    1. Created RDKCOM-2098 to track the request.

  3. Is the visualizer support available?
    I do not have access to RDKCOM-2098 ticket.

    1. Hi Unknown User (vineeth_shankar) currently visualizer support is not available