Provided by: hwloc_1.11.12-3_amd64 bug


       hwloc-ps - List currently-running processes or threads that are bound


       hwloc-ps [options]


       -a        List  all  processes,  even those that are not bound to any specific part of the

       --pid <pid>
                 Only show process of PID <pid>, even if it is not bound to any specific part  of
                 the machine.

       --name <name>
                 Only  show  processes  whose name contains <name>, even if they are not bound to
                 any specific part of the machine.   This  is  not  supported  on  all  operating

       -p --physical
                 Report OS/physical indexes instead of logical indexes

       -l --logical
                 Report logical indexes instead of physical/OS indexes (default)

       -c --cpuset
                 Show process bindings as cpusets instead of objects.

       -t --threads
                 Show  threads inside processes.  If -a is given as well, list all threads within
                 each process.  Otherwise, show all threads inside each process  where  at  least
                 one thread is bound.  This is currently only supported on Linux.

       -e --get-last-cpu-location
                 Report   the last processors where the process/thread ran.  Note that the result
                 may already be outdated when reported since the operating system  may  move  the
                 tasks to other processors at any time according to the binding.

                 Do not consider administration limitations.

       --pid-cmd <cmd>
                 Append  the  output  of  the given command to each PID line.  For each displayed
                 process ID, execute the command <cmd> <pid> and append the  first  line  of  its
                 output to the regular hwloc-ps line.


       By default, hwloc-ps lists only those currently-running processes that are bound. If -t is
       given, processes that are not bound but  contain  at  least  one  bound  thread  are  also
       displayed, as well as all their threads.

       hwloc-ps  displays  process  identifier,  command-line  and  binding.   The binding may be
       reported as objects or cpusets.

       By default, process bindings are restricted to the currently available topology.  If  some
       processes  are bound to processors that are not available to the current process, they are
       ignored unless --whole-system is given.

       The output is a plain list. If  you  wish  to  annotate  the  hierarchical  topology  with
       processes  so  as to see how they are actual distributed on the machine, you might want to
       use lstopo --ps instead (which also only shows processes that are bound).

       The -a switch can be used to show all processes, if desired.


       If a process is bound, it appears in the default output:

           $ utils/hwloc-ps
           4759  Core:0         myprogram

       If a process is not bound but 3 of his 4 threads are bound, it only appears in the thread-
       aware output (or if explicitly selected):

           $ utils/hwloc-ps

           $ utils/hwloc-ps -t
           4759  Machine:0      myprogram
            4759 Machine:0
            4761 PU:0
            4762 PU:2
            4765 PU:1

           $ utils/hwloc-ps --pid 4759
           4759  Machine:0      myprogram

       To  display the binding of already running MPI processes (launched by Open MPI) and append
       their MPI rank (in MPI_COMM_WORLD) to each line:

           $ utils/hwloc-ps --pid-cmd myscript
           29093 L1dCache:0     myprogram OMPI_COMM_WORLD_RANK=0
           29094 L1dCache:2     myprogram OMPI_COMM_WORLD_RANK=1
           29095 L1dCache:1     myprogram OMPI_COMM_WORLD_RANK=2
           29096 L1dCache:3     myprogram OMPI_COMM_WORLD_RANK=3

       where myscript is a bash script doing:

           cat  /proc/$1/environ  2>/dev/null  |  xargs   --null   --max-args=1   echo   |   grep


       hwloc(7), lstopo(1), hwloc-calc(1), hwloc-distrib(1)