1topline(1) General Commands Manual topline(1)
2
3
4
6 topline - a disk/per-core CPU grapher/logger
7
9 topline [ -l ] [ -i 1.0 ] [ -o logfile ] [ program arg1 arg2 ... ]
10
12 While programs like htop can show per-core loads, they do so interac‐
13 tively. There are loggers like dstat but, using numeric data, they
14 have no chance to fit per-CPU information within a line on modern many-
15 core processors. Thus, topline uses Unicode graphing symbols to squash
16 the data into a terse, two-hyperthreads-per-char, form. This allows
17 eyeballing NUMA separation, CPU hopping, etc.
18
19 Once per second, topline plots stats for that interval:
20
21 per every disk,
22 one character with two columns of dots gives that disk's uti‐
23 lization time percentage. The left column shows reads, the
24 right one shows writes. Disks are grouped into parenthesised
25 groups by interface type (NVMe, SATA, eMMC, ...).
26
27 per every non-hyperthreaded CPU or a pair of hyperthreaded siblings,
28 a character with one or two columns is given. Non-HT CPUS are
29 drawn with bars, HT ones with dots, offline cores are marked
30 with 'o'. The parentheses group CPUs by their NUMA node.
31
33 <program> <arg1> <arg2> ...
34 Runs a program and terminates the graph once the program exits.
35 The graph still exhibits the global state of the system rather
36 than just the program you chose and its children.
37
38 If no program is given, topline will keep logging forever (ie, until
39 you press ^C or similar).
40
41 -l, --line-output, --linearize
42 Marshalls the program's output line-by-line, avoiding mix-ups
43 with topline's data. They will be interspersed in separate
44 lines.
45 The program will know it is being piped; if you want it to
46 believe it's ran on a terminal (to get colors, etc) you may use
47 a tool like pipetty.
48
49 -i <interval>
50 Sets the interval between data samples; the default is 1s.
51 Floating-point values are allowed; the number may be suffixed by
52 a "s" (seconds, default), "m" (minutes), "h" (hours), "d"
53 (days), "ms" (milliseconds), "us" or "µs" (microseconds).
54
55 -o <file>, --output <file>
56 Redirects topline's output to the given file. The program being
57 ran can then use stdout and stderr unimpeded.
58
60 If the machine's CPUs are hyperthreaded with more than one or two per
61 core, the graph won't make it obvious which columns share a core. All
62 siblings are still given consecutively, unless forced into separate
63 NUMA nodes with fakenuma settings.
64
65 Machines above 140-150 CPUs may not fit on an 80-column terminal.
66
68 htop, dstat, VTUNE.
69
70
71
72 2019-12-29 topline(1)