CMDEBUG(1)

CMDEBUG(1) πŸ’– the manual page where we spy on the Cache Manager

okay bestie, welcome to cmdebug β€” it's from the AFS Command Reference and it's literally the group chat of your AFS client. let's go πŸ’…


✨ NAME ✨

cmdebug β€” reports the status of a host Cache Manager 🫢


✨ SYNOPSIS ✨

cmdebug -servers <machine> [-port <IP port>]
    [-long] [-refcounts] [-callbacks] [-ctime] [-addrs]
    [-cache] [-cellservdb] [-help]

cmdebug -s <machine> [-p <IP port>] [-l] [-r] [-cal]
    [-ct] [-a] [-cac] -ce] [-h]

(not the second one having a lil typo in it 😭 we keep it exactly as the ancestors wrote it, no editing the sacred text)


✨ DESCRIPTION ✨

so basically, cmdebug spills the tea β˜• about the Cache Manager and the client cache status on a local or remote AFS client machine. you can run it on your own lil machine or reach across the network to somebody else's.

and by default? it shows you all the locked cache entries. that's the vibe check it does automatically. but if you want more than that, there's a whole menu of options to request other info. obsessed. πŸ’–


🌸 CAUTIONS 🌸 (read this part fr fr)

  • the -ctime option is only available with OpenAFS version 1.4.7 and later, or version 1.5.28 or later. this option can be used to gather information from any version of the Unix OpenAFS client β€” but it can only query Windows clients running OpenAFS version 1.5.28 or later. so like, windows girlies on old versions, it's giving no πŸ’€
  • the -cellservdb option is only available with OpenAFS version 1.4.7 and later, or version 1.5.31 or later. this option can be used to gather information from any version of the Unix OpenAFS client β€” but it can only query Windows clients running OpenAFS version 1.5.31 or later. same energy, different version number πŸŽ€

✨ OPTIONS ✨

  • -servers <machine> β€” names the client machine whose Cache Manager status you wanna see. give it the machine's IP address in dotted decimal format, its fully qualified host name (like fs1.example.com), or the shortest abbreviated form of its host name that still distinguishes it from other machines. heads up though: whether the abbreviated form actually works depends on a name resolution service being available at the time you run the command β€” could be the Domain Name Service, could be a local host table. no resolution service, no slay πŸ™ˆ
  • -port <IP port> β€” tells it which port to hit up the Cache Manager on. default is the standard port 7001, so bestie... you will very rarely need this one. it's the "I packed it just in case" option πŸ’…
  • -long β€” reports on all lock statuses and all cache entries, instead of just the locked cache entries. so much info. so much. but do not use this one with -refcounts, -callbacks, -addrs, -cache, or -cellservdb β€” they do not get along 🚫
  • -refcounts β€” reports only those cache entries with non-zero reference counts. and nope, do not use it with -long, -callbacks, -addrs, or -cache.
  • -callbacks β€” reports only those cache entries with callbacks. and again, do not use it with -long, -refcounts, -addrs, or -cache.
  • -ctime β€” makes entry expiration times show up in human-readable format πŸ•°οΈβœ¨ much nicer than staring at raw numbers. do not use it with -addrs or -cache.
  • -addrs β€” instead of showing any cache entries at all, this displays the interfaces the Cache Manager answers on, including their netmasks and MTUs. iconic for analyzing clients that are multihomed and for sniffing out problems with netmask or MTU settings. do not use it with -long, -refcounts, -callbacks, or -cache.
  • -cache β€” instead of showing any cache entries, it displays the cache configuration for the client machine. and the info it shows is essentially the same info you could configure via parameters to afsd. do not use it with -long, -refcounts, -callbacks, or -addrs.
  • -cellservdb β€” lists all known volume location database records in a CellServDB-compatible format. that means all records in memory β€” including the ones from the CellServDB file, DNS SRV or AFSDB records, and the fs newcell command. super handy if you wanna check whether a client has the latest copy of the CellServDB file πŸ‘€ do not use this option with -long, -refcounts, -callbacks, or -cache.
  • -help β€” prints the online help for this command. and just so you know, all other valid options are ignored when you do this. it's the "I'm just asking for directions" move 🧚

✨ EXAMPLES ✨

displays all of the locked cache entries on "client1":

% cmdebug client1

displays the cache configuration for "client1.example.com":

% cmdebug client1.example.com -cache

displays all cache entries for "client2.example.com":

% cmdebug client2.example.com -long

πŸ’œ PRIVILEGE REQUIRED πŸ’œ

None. zero. nada. you literally need no special permission. go off, main character πŸ‘‘


🌈 SEE ALSO 🌈


Copyright 2005 Russ Allbery <rra@stanford.edu>

This documentation is covered by the IBM Public License Version 1.0. This man page was written by Russ Allbery for OpenAFS.


and that's the whole page bestie 🫢 shoutout to OpenAFS, dated 2026-07-27, filed under CMDEBUG(1) β€” now go debug that Cache Manager, you absolute icon πŸ’…πŸ’–βœ¨

πŸ“¦ where this page comes from