Provided by: intel-cmt-cat_1.2.0-1_amd64 bug

NAME

       pqos,  pqos-msr,  pqos-os  -  Intel(R) Resource Director Technology monitoring and control
       tool

SYNOPSIS

       pqos [OPTIONS]...

DESCRIPTION

       Intel(R) Resource Director Technology is designed to monitor and manage cpu resources  and
       improve performance of applications and virtual machines.

       Intel(R)  Resource  Director  Technology  includes  monitoring  and  control technologies.
       Monitoring  technologies  include  CMT  (Cache  Monitoring  Technology),  which   monitors
       occupancy   of   last  level  cache,  and  MBM  (Memory  Bandwidth  Monitoring).   Control
       technologies include CAT (Cache Allocation Technology) and CDP (Code Data Prioritization).

       pqos supports CMT and MBM on a per core or hardware thread basis. MBM supports  two  types
       of events reporting local and remote memory bandwidth.
       pqos-msr  and pqos-os are simple pqos wrapper scripts that automatically select the MSR or
       OS/Kernel library interface to program the technologies.
       Please see the -I option below for more information.

       For    hardware    information    please    refer    to    the    README    located    on:
       https://github.com/01org/intel-cmt-cat/blob/master/README

OPTIONS

       pqos options are as follow:

       -h, --help
              show help

       -v, --verbose
              verbose mode

       -V, --super-verbose
              super-verbose mode

       -l FILE, --log-file=FILE
              log messages into selected log FILE

       -s, --show
              show the current allocation and monitoring configuration

       -d, --display
              display supported Intel(R) Resource Director Technology capabilities

       -D, --display-verbose
              display  supported  Intel(R)  Resource  Director Technology capabilities in verbose
              mode

       -f FILE, --config-file=FILE
              load commands from selected configuration FILE

       -e CLASSDEF, --alloc-class=CLASSDEF
              define  the  allocation  classes  on  all   CPU   sockets.   CLASSDEF   format   is
              "TYPE:ID=DEFINITION;...".
              define    classes    for    selected    CPU    resources.    CLASSDEF   format   is
              "TYPE[@RESOURCE_ID]:ID=DEFINITION;...".
              For CAT, TYPE is "llc" for the last level cache (aka  l3)  and  "l2"  for  level  2
              cache, ID is a CLOS number and DEFINITION is a bitmask.
              For MBA, TYPE is "mba", ID is a CLOS number and DEFINITION is a value between 1 and
              100 representing the percentage of available memory bandwidth.
              RESOURCE_ID is a  unique  number  that  can  represent  a  socket  or  l2/l3  cache
              identifier. The RESOURCE_ID for each logical CPU can be found using "pqos -s"
              Note: When CDP is on, ID can be postfixed with 'D' for data or 'C' for code. CDP is
              not available for l2.
              Some examples:
                     "-e llc:0=0xffff;llc:1=0x00ff;llc@0-1:2=0xff00;l2:2=0x3f;l2@2:1=0xf"
                     "-e llc:0d=0xfff;llc:0c=0xfff00"
                     "-e mba:1=30;mba@1:3=80"
              Note:
                     "-e l2:2=0x3f" means that COS2 for all L2 cache clusters is changed to 0x3f.
                     "-e l2@2:1=0xf" means that COS1 for L2 cache cluster 2 is changed to 0xf.
                     "-e mba:1=30" means that COS1, on all sockets, can  utilize  up  to  30%  of
                     available memory bandwidth.

       -a CLASS2ID, --alloc-assoc=CLASS2ID
              associate allocation classes with cores. CLASS2ID format is "TYPE:ID=CORE_LIST;..."
              or "TYPE:ID=TASK_LIST;...".
              For CAT, TYPE is "llc", "core" or "pid" and ID is  a  class  number.  CORE_LIST  is
              comma or dash separated list of cores. TASK_LIST is comma or dash separated list of
              process/task ID's.
              For example:
                     "-a llc:0=0,2,4,6-10;llc:1=1;" associates cores 0, 2, 4, 6, 7, 8, 9, 10 with
                     CAT class 0 and core 1 with class 1.
                     "-a  core:0=0,2,4,6-10;core:1=1;"  associates  cores 0, 2, 4, 6, 7, 8, 9, 10
                     with CAT class 0 and core 1 with class 1.
                     "-I -a pid:0=3543,7643,4556;pid:1=7644;" associates process ID  3543,  7643,
                     4556 with CAT class 0 and process ID 7644 with class 1.
              Note:
                     The -I option must be used for PID association.

       -R [CONFIG], --alloc-reset[=CONFIG]
              reset  allocation setting (L3 CAT, L2 CAT) and reconfigure L3 CDP. CONFIG is one of
              the following options:
              l3cdp-on  sets L3 CDP on
              l3cdp-off sets L3 CDP off
              l3cdp-any keep current L3 CDP setting (default)

       -m EVTCORES, --mon-core=EVTCORES
              select the cores and events for monitoring, EVTCORES format  is  "EVENT:CORE_LIST".
              Valid EVENT settings are:
              - "llc" for CMT (LLC occupancy)
              - "mbr" for MBR (remote memory bandwidth)
              - "mbl" for MBL (local memory bandwidth)
              - "all" or ""  for all detected event types
              CORE_LIST is comma or dash separated list of cores.
              Example "-m all:0,2,4-10;llc:1,3;mbr:11-12".
              Core statistics can be grouped by enclosing the core list in square brackets.
              Example "-m llc:[0-3];all:[4,5,6];mbr:[0-3],7,8".

       -p [EVTPIDS], --mon-pid[=EVTPIDS]
              select top 10 most active (CPU utilizing) process ids to monitor
              or   select   the   process   ids   and   events  to  monitor,  EVTPIDS  format  is
              "EVENT:PID_LIST".
              See -m option for valid EVENT settings. PID_LIST is comma separated list of process
              ids.
              Examples "-p llc:22,25673" or "-p all:892,4588-4592".
              Note:
                     Requires Linux and kernel versions 4.1 and newer.
                     The -I option must be used for PID monitoring.
                     It is not possible to track both processes and cores at the same time.

       -T, --mon-top
              enable top like monitoring output sorted by highest LLC occupancy

       -o FILE, --mon-file FILE
              select output FILE to store monitored data in, the default is 'stdout'

       -u TYPE, --mon-file-type=TYPE
              select  the  output  format  TYPE  for monitored data. Supported TYPE settings are:
              "text" (default), "xml" and "csv".

       -i INTERVAL, --mon-interval=INTERVAL
              define monitoring sampling INTERVAL in 100ms units, 1=100ms, default 10=10x100ms=1s

       -t SECONDS, --mon-time=SECONDS
              define monitoring time in seconds, use 'inf' or 'infinite' for infinite monitoring.
              Use CTRL+C to stop monitoring at any time.

       -r, --mon-reset
              reset monitoring and use all RMID's and cores in the system

       -H, --profile-list
              list supported allocation profiles

       -c PROFILE, --profile-set=PROFILE
              select  a  PROFILE  from  predefined  allocation  classes, use -H to list available
              profiles

       -I, --iface-os
              set the library interface to use the kernel implementation. If not set the  default
              implementation is to program the MSR's directly.

NOTES

       CMT,  MBM  and CAT are configured using Model Specific Registers (MSRs). The pqos software
       executes in user space, and access to the MSRs  is  obtained  through  a  standard  Linux*
       interface.  The  msr  file  interface  is protected and requires root privileges.  The msr
       driver might not be auto-loaded and on some modular kernels the  driver  may  need  to  be
       loaded manually:

       For Linux:
       sudo modprobe msr

       For FreeBSD:
       sudo kldload cpuctl

       Interface enforcement:
       If  you require system wide interface enforcement you can do so by setting the "RDT_IFACE"
       environment variable.

SEE ALSO

       msr(4)

AUTHOR

       pqos  was  written  by   Tomasz   Kantecki   <tomasz.kantecki@intel.com>,   Marcel   Cornu
       <marcel.d.cornu@intel.com>, Aaron Hetherington <aaron.hetherington@intel.com>

       This  is  free software; see the source for copying conditions.  There is NO warranty; not
       even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

                                        November 16, 2017                                 PQOS(8)