HWLOC-PS(1)

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

SYNOPSIS
hwloc-ps [options]

OPTIONS

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

-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.

--whole-system
    Do not consider administration limitations.

DESCRIPTION
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.

EXAMPLES

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:
    $ utils/hwloc-ps
    $ utils/hwloc-ps -t
    4759    Machine:0    myprogram
     4759    Machine:0
     4761    PU:0
     4762    PU:2
     4765    PU:1

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