Clamdtop(1)

πŸ’– CLAMDTOP πŸ’–

okay so bestie, this is clamdtop from the Clam AntiVirus suite, and it lives in section 1 of the manual (that's Clamdtop(1) if you're being formal, which we are not). grab a snack, we're going in 🫢


✨ NAME ✨

clamdtop β€” monitor the Clam AntiVirus Daemon πŸ‘€


🌸 SYNOPSIS 🌸

clamdtop [options] [clamdspec ...]

πŸ¦‹ DESCRIPTION πŸ¦‹

so clamdtop is literally a tool to monitor one or multiple clamd(s). it's got a (color!) ncurses interface that shows you the jobs sitting in clamd's queue, the memory usage, and all the info about the loaded signature database. iconic behavior honestly πŸ’…

you can specify on the command line which clamd(s) it should connect to. by default? it'll try to connect to the local clamd as defined in clamd.conf. no cap.


πŸŽ€ OPTIONS πŸŽ€

  • -h, --help β€” shows you the help info and then dips. exit stage left. πŸšͺ
  • -V, --version β€” prints the version number and bounces.
  • --config-file=FILE β€” read clamd settings from FILE, so it knows how to connect to it.
  • clamdspec β€” specifies the clamd to connect to. it's either a path to the local (unix domain) socket of clamd, OR an IP address and a port number (which defaults to 3310) to connect to a local or remote clamd using TCP/IP. pick your fighter πŸ’–

🌈 OVERVIEW 🌈

πŸ”‘ KEYS:

  • H β€” displays a short helpscreen, describing the meaning of the various elements on the display. (a little legend for your vibes.)
  • Q β€” quits clamdtop. bye bestie 😭
  • R β€” resets the maximum values. fresh start energy ✨
  • up arrow, down arrow β€” if you're monitoring multiple clamds then clamdtop will show an overview screen by default. you can use the up arrow and down arrow keys to cycle through each clamd individually, and the overview screen. a blue bar will highlight the clamd that is currently shown in detail. on the overview screen none of the clamds is selected (hence no blue bar), and you can see the items from the queue of all clamds. slay.

πŸ“Š The top bar

shows the version of clamdtop and the current time. clamdtop updates the display once every 2 seconds. yes, it's a little heartbeat πŸ’“

πŸ‘‘ The list of clamds

shows the clamds that clamdtop is connected to, and statistics about them.

  • NO β€” unique clamd number
  • CONNTIME β€” how long clamdtop has been connected (reset upon a reconnect)
  • LIV β€” total number of live threads
  • IDL β€” total number of idle threads
  • QUEUE β€” number of items in queue
  • MAXQ β€” maximum number of items observed in the queue
  • MEM β€” total memory usage (if available)
  • HOST β€” which clamd; local means unix socket
  • ENGINE β€” engine version
  • DBVER β€” database version
  • DBTIME β€” database publish time

πŸ” Clamd detailed view

  • Primary threads live β€” the number of threads that are executing commands or scanning. they're booked and busy fr fr πŸ”₯
  • Primary threads idle β€” the number of threads that are idle, waiting for commands. they will exit after IdleTimeout (30 seconds).
  • Primary threads max β€” the maximum number of threads configured.
  • Queue items β€” the number of items (scanjobs) in clamd's queue that are waiting for a free thread to be processed.
  • Queue max β€” the maximum number of items observed in clamd's queue.

🧠 The memory usage view

if available, it will show details on clamd's memory usage:

  • Mem heap β€” the amount of memory used by libc from the heap, in MegaBytes.
  • Mem mmap β€” the amount of memory used by libc from mmap-allocated memory, in MegaBytes.
  • Mem unused β€” the amount of memory that can be reclaimed by libc.
  • Libc used β€” the amount of useful memory allocated by libc.
  • Libc free β€” the amount of memory allocated by libc that can't be freed due to fragmentation. 😭 tragic.
  • Libc total β€” the amount of memory allocated by libc from the system in total.
  • Pool count β€” the number of mmap regions allocated by clamd's memory pool allocator (for the signature database).
  • Pool used β€” the amount of memory used by clamd's memory pool allocator (for the signature database).
  • Total β€” the total amount of memory allocated by clamd's memory pool allocator.

πŸ“‹ The clamd job queue

  • COMMAND β€” kind of command being executed. STATS is clamdtop, SCAN/CONTSCAN/FILDES/MULTISCAN is scan of a file/directory, MULTISCANFILE is scan of one item by a MULTISCAN job.
  • QUEUEDSINCE β€” the time since the command got queued, until now.
  • FILE β€” the name of the file being processed (if applicable).

⭐ EXAMPLES ⭐

(1) to connect to the clamd configured in the default clamd.conf:

clamdtop

(2) to connect to the clamd configured in another clamd.conf:

clamdtop --config-file=/path/to/clamd.conf

(3) to connect to a clamd running on another machine (192.168.0.3) on the LAN:

clamdtop 192.168.0.3

(4) to connect to a clamd running on another machine (192.168.0.3) on a non-default port (3410):

clamdtop 192.168.0.3:3410

(5) to monitor the local clamd and 2 other remote clamds over TCP/IP:

clamdtop localhost 192.168.0.3 192.168.0.4

πŸ’œ NOTES πŸ’œ

clamdtop uses colors if the terminal is capable of colors. if you know your terminal is capable of colors, yet you aren't seeing any, then check that your TERM environment variable is set correctly. for example, try setting it to TERM=xterm-color if you are in an xterm-like environment. πŸ’…

IPv6 support has been added. if specifying an IPv6 address, please use the normal IPv6 addressing rules. if specifying both an IPv6 address and a port combination, encapsulate the IPv6 address in square brackets (e.g. [::1]:3410). πŸ¦‹


πŸ”’ RETURN CODES πŸ”’

  • 0 : Normal termination ✨
  • >0 : Error occurred. πŸ’€

🫢 CREDITS 🫢

please check the full documentation for credits. (they're shy, ok?)


πŸ‘‘ AUTHOR πŸ‘‘

TΓΆrΓΆk Edvin <edwin@clamav.net>


🌸 SEE ALSO 🌸

clamd(8), clamd.conf(5)


ok that's the whole page bestie, every single flag and field accounted for, no skips, no cuts, we ate πŸ’…βœ¨

this was ClamAV 1.5.4, February 22, 2009 β€” and that's your Clamdtop(1) page, mwah πŸŽ€πŸ’–πŸ¦‹