PCP-ATOPRC(5)

πŸ“¦
version 7.2.2 Β· 3 versions
, in arch rolling, centos-stream 10, centos-stream 9, debian trixie, fedora 43, fedora 44, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸŽ€ PCP-ATOPRC(5) β€” the resource file glow-up πŸŽ€

okay bestie, this is the manual page for pcp-atoprc πŸ’– β€” the resource file that pcp-atop and pcp-atopsar both read. those two commands are your little system-watchers, keeping an eye on the system and the process load. we're doing this properly, no skimming, every single keyword gets its moment. periodt. ✨


🌸 NAME 🌸

pcp-atoprc β€” the resource file for pcp-atop and pcp-atopsar. that's it, that's the name, short and iconic πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

so this page documents the resource file belonging to the pcp-atop and pcp-atopsar commands. those commands are the ones you use to monitor the system and the process load on a system. main character energy, fr fr.

the pcp-atoprc file is where the default settings live. they get read at startup, and here's the order, because the order is literally the whole point:

  1. first from the system-wide rcfile /etc/atoprc
  2. and after that from the user-specific rcfile ~/.atoprc

which means system-wide settings can be overruled by an individual user 🫢 so your personal file always gets the last word. the options in both rcfiles are identical β€” same vibes, different scope.


✨ OPTIONS ✨

the rcfile is made of keyword-value pairs, one on every line. blank lines? ignored. lines starting with a #-sign? also ignored. it's giving "clean and unbothered" 😌

the following keywords can be specified:

  • flags β€” you can define a list of default flags for pcp-atop right here. the flags that are allowed are 'B', 'H', 'g', 'm', 'd', 'n', 'u', 'p', 's', 'c', 'v', 'C', 'M', 'D', 'N', 'A', 'a', 'y', 'f', 'F', 'G', 'R', '1', 'e', 'E' and 'x'. that's the whole roster, no extras, don't try it πŸ’€
  • interval β€” the default interval value, in seconds ⏱️
  • linelen β€” the length of a screen line when you're sending output to a file or a pipe. default is 80.
  • username β€” the default regular expression for the users whose active processes will be shown. regex girlies rise πŸ™ˆ
  • procname β€” the default regular expression for the process names to be shown.
  • maxlinecpu β€” the maximum number of active CPUs that will be shown.
  • maxlinegpu β€” the maximum number of active GPUs that will be shown.
  • maxlinelvm β€” the maximum number of active logical volumes that will be shown.
  • maxlinemdd β€” the maximum number of active multiple devices that will be shown.
  • maxlinedisk β€” the maximum number of active disks that will be shown.
  • maxlinenfsm β€” the maximum number of NFS mounts that will be shown on an NFS client.
  • maxlineintf β€” the maximum number of active network interfaces that will be shown.
  • maxlinecont β€” the maximum number of active containers that will be shown.

okay now the critical-percentage girlies. these all work the same way: each one is the busy percentage considered critical for its resource, and that's explained in the section COLORS in the man-page of the pcp-atop command. that percentage is used to determine a weighted percentage for line coloring and for sorting of active processes in text mode. and when the value is zero, no line coloring and no automatic sorting is performed for that resource. simple as 🫢

  • cpucritperc β€” the busy percentage considered critical for a processor.
  • dskcritperc β€” the busy percentage considered critical for a disk.
  • netcritperc β€” the busy percentage considered critical for a network interface.
  • memcritperc β€” the percentage considered critical for memory utilization.
  • swpcritperc β€” the occupation percentage considered critical for swap space. (this one's for line coloring and sorting of active processes.)
  • swoutcritsec β€” the number of pages swapped out per second considered critical for memory utilization (see the COLORS section in the man-page of the pcp-atop command). this threshold gets used in combination with memcritperc to determine a weighted percentage for line coloring and sorting of active processes. when this value is zero, no line coloring and no automatic sorting is performed for this resource.
  • almostcrit β€” a percentage of the critical percentage, used to determine whether a resource is almost critical (again, see COLORS in the man-page of the pcp-atop command). when this value is zero, no line coloring for almost critical is performed.
  • cpubarwidth β€” the number of columns used per bar in the processor bar graph. the default value is 0, which means the bar width gets scaled automatically β€” the wider the terminal, the more columns per bar, up to a maximum of three 🌈 with the value 1, 2 or 3 the number of bars can be statically pinned to that number of columns, with one column of white space in between the bars.
  • colorinfo β€” defines the color name for information messages in text mode (default: green). the allowed colors are: red green yellow blue magenta cyan black white.
  • colorthread β€” defines the color name for thread-specific lines when using the 'y' option (default: yellow). the allowed colors are: red green yellow blue magenta cyan black white.
  • coloralmost β€” defines the color name for almost critical resources in text mode (default: cyan). the allowed colors are: red green yellow blue magenta cyan black white.
  • colorcritical β€” defines the color name for critical resources in text mode (default: red). the allowed colors are: red green yellow blue magenta cyan black white.
  • pcp-atopsarflags β€” you can define a list of default flags for pcp-atopsar here. the flags that are allowed are 'S', 'x', 'C', 'M', 'H', 'a', 'A' and the flags to select one or more specific reports. yes, the flag list is different from the pcp-atop one, they're not the same bestie, don't mix them up 😭

🌟 an example, because we love a visual 🌟

here's what an /etc/atoprc or ~/.atoprc file can look like:

flags         Aaf
interval      5
username
procname
maxlinecpu    4
maxlinedisk   10
maxlineintf   5
cpucritperc   80
almostcrit    90
pcp-atopsarflags  CMH
ownprocline   PID:50 VGROW:40 RGROW:45 COMMAND-LINE:50
ownpagline    PAGSCAN:3 BLANKBOX:0 PAGSWIN:3 PAGSWOUT:7

and before you ask about those last two lines β€” the keywords ownprocline and ownpagline get explained in the subsequent section πŸ‘€ so hold that thought, we're not done here.

πŸ’… OWN DEFINITION OF OUTPUT LINE πŸ’…

okay bestie, so you wanna be the main character and design your own output lines? periodt. with the rcfile you can literally define the layout of the output lines yourself, i.e. you can define the layout of one line with process information with the keyword ownprocline (to be selected with the key o or the flag -o) and you can redefine all lines with system information. it's giving customization ✨.

the layout of an output-line can be defined as follows (and yes, this should be specified as one line in the rcfile):

keyword   <columnid>:<prio> [<columnid>:<prio> ...]

so like:

  • the columnid is the symbolic name of a column that should be shown at this position in the output line.
  • the prio is a positive integer value that determines which columns have precedence whenever not all specified columns fit into the current screen-width. the higher the value, the higher the priority.
  • the column-specifications should be separated by a space. the order in which columns have been specified is the order in which they will be shown, with respect to their priority (columns that do not fit will be dropped dynamically). no cap.

a special columnid for system lines is BLANKBOX. this indicates that an empty column is required at this position. also this special columnid is followed by a priority (usually low). it's basically a little spacer, iykyk πŸŽ€.


πŸŽ€ ownprocline (for process info) πŸŽ€

the following definition can be specified for process information:

ownprocline β€” the columnids are the names of the columns that are shown in the normal output of the process-related lines that are shown by pcp-atop such as 'PID', 'CMD', 'S', .... the only exception is the special columnid 'SORTITEM' that is used to show one of the columns CPU%/DSK%/MEM%/NET%, depending on the chosen sort-criterion. an example of a user-defined process line:

ownprocline   PID:20 PPID:10 SYSCPU:15 USRCPU:15 VGROW:14
VSIZE:12 RGROW:14 RSIZE:12 ST:8 EXC:7 S:11 SORTITEM:18 CMD:20

🌸 the default system lines (you can redefine each) 🌸

the following definitions are used internally by pcp-atop as the default system lines (you can redefine each of them in the rcfile as one line):

owns yprcline β€” Redefinition of line labeled with 'PRC':

owns yprcline   PRCSYS:8 PRCUSER:8 BLANKBOX:0 PRCNPROC:7
PRCNZOMBIE:5 PRCCLONES:4 BLANKBOX:0 PRCNNEXIT:6

ownallcpuline β€” Redefinition of line labeled with 'CPU' for total CPU-utilization:

ownallcpuline   CPUSYS:8 CPUUSER:7 CPUIRQ:4 BLANKBOX:0 CPUIDLE:5
CPUWAIT:6 BLANKBOX:0 CPUSTEAL:1 CPUGUEST:3

ownonecpuline β€” Redefinition of line labeled with 'CPU' for utilization of one CPU:

ownonecpuline   CPUISYS:8 CPUIUSER:7 CPUIIRQ:4 BLANKBOX:0
CPUIIDLE:5 CPUIWAIT:6 BLANKBOX:0 CPUISTEAL:1 CPUIGUEST:3

owncplline β€” Redefinition of line labeled with 'CPL':

owncplline   CPLAVG1:4 CPLAVG5:3 CPLAVG15:2 BLANKBOX:0 CPLCSW:6
CPLINTR:5 BLANKBOX:0 CPLNUMCPU:1

ownmemline β€” Redefinition of line labeled with 'MEM':

ownmemline   MEMTOT:2 MEMFREE:5 MEMCACHE:3 MEMDIRTY:1
MEMBUFFER:3 MEMSLAB:3 BLANKBOX:0 BLANKBOX:0 BLANKBOX:0
BLANKBOX:0

ownswpline β€” Redefinition of line labeled with 'SWP':

ownswpline   SWPTOT:3 SWPFREE:4 BLANKBOX:0 BLANKBOX:0 BLANKBOX:0
BLANKBOX:0 BLANKBOX:0 BLANKBOX:0 SWPCOMMITTED:5 SWPCOMMITLIM:6

ownpagline β€” Redefinition of line labeled with 'PAG':

ownpagline   PAGSCAN:3 PAGSTALL:1 BLANKBOX:0 PAGSWIN:4
PAGSWOUT:3

owndskline β€” Redefinition of lines labeled with 'LVM', 'MDD' and 'DSK':

owndskline   DSKNAME:8 DSKBUSY:7 DSKNREAD:6 DSKNWRITE:6
DSKKBPERRD:4 DSKKBPERWR:4 DSKMBPERSECRD:5 DSKMBPERSECWR:5
DSKAVQUEUE:1 DSKAVIO:5

ownnettrline β€” Redefinition of line labeled with 'NET' for transport:

ownnettrline   NETTRANSPORT:9 NETTCPI:8 NETTCPO:8 NETUDPI:8
NETUDPO:8 NETTCPACTOPEN:6 NETTCPPASVOPEN:5 NETTCPRETRANS:4
NETTCPINERR:3 NETTCPORESET:20 NETUDPNOPORT:1 NETUDPINERR:3

ownnetnetline β€” Redefinition of line labeled with 'NET' for network:

ownnetnetline   NETNETWORK:5 NETIPI:4 NETIPO:4 NETIPFRW:4
NETIPDELIV:4 BLANKBOX:0 BLANKBOX:0 BLANKBOX:0 NETICMPIN:1
NETICMPOUT:1

ownnetifline β€” Redefinition of line labeled with 'NET' for interfaces:

ownnetifline   NETNAME:8 NETPCKI:7 NETPCKO:7 NETSPEEDIN:6
NETSPEEDOUT:6 NETCOLLIS:3 NETMULTICASTIN:2 NETRCVERR:5
NETSNDERR:5 NETRCVDROP:4 NETSNDDROP:4

the lines above are shown in the order as shown by pcp-atop in combination with the -f flag (in a very wide window you should be able to see all of the columns). it's giving full view πŸ‘‘.


πŸ‘€ SEE ALSO πŸ‘€

pcp(1), pcp-atop(1), pcp-atopsar(1) and PCPIntro(1).


and that's the tea, bestie πŸ’– this page was brought to you by Performance Co-Pilot, version PCP, and it's the PCP-ATOPRC(5) manpage. no date given, but you know it's iconic. stay slay, and may your columns always fit perfectly 🫢✨

πŸ“¦ where this page comes from