SMCD-STATS(8)
π SMCD-STATS(8) π
okay bestie, so this is smcd-stats and smcr-stats, both from the Linux Programmer's Manual (section 8, the sysadmin-y one, you know the vibe). One of them is giving SMC-D energy, the other is giving SMC-R energy. That's literally the whole difference. Let's get into it π«Ά
β¨ NAME β¨
smcd-statsβ Print statistics about SMC-D usagesmcr-statsβ Print statistics about SMC-R usage
two icons, two protocols, zero notes π
πΈ SYNOPSIS πΈ
smcd [ OPTIONS ] stats { COMMAND | help }
smcr [ OPTIONS ] stats { COMMAND | help }
yeah it's literally the same line twice, just swap the d for an r. we love a matching set π
π¦ DESCRIPTION π¦
so the smcd stats and smcr stats commands show you statistics about SMC-D and SMC-R respectively. the data includes number of connections, number of failed connections, buffer information, and special calls.
here's the tea though: statistics are collected at various data points in the smc kernel module. which means minor inconsistencies in the data can occur and are, like, completely to be expected. not a bug, it's just how the collection works. no cap π«
π COMMANDS π
show(default) β Display statistics on respective SMC mode usage. Values displayed are cumulative since last reset, unless option-a/--absoluteis specified.resetβ Display current statistics and reset all counters to zero.jsonβ Display current statistics in JSON format.
not show being the default and just showing up whether you ask or not, main character energy fr β¨
π OPTIONS π
-d,--detailsβ Display additional fields and information in the output.-a,--absoluteβ Display values since smc module load, ignoring any resets.
and yes, -da is a valid little combo, we'll get to that in the examples π
π OUTPUT π
the -d/--details option displays a number of additional fields as indicated in the following. It also breaks up a number of counters in section Connections Summary into separate counts for client and server.
π Total connections handled
Total number of connections handled by the SMC module. Includes TCP fallback connections as well as handshake errors.
π SMC connections
Number of connections that successfully entered the respective SMC mode. -d/--details breaks up connections by SMC versions.
π Handshake errors
Number of connections that failed due to errors during the handshaking phase, e.g. peer no longer responding. we've all been there π
π Avg requests per SMC conn
Average number of requests sent and received (including special socket calls) per SMC connection.
π TCP fallback
Number of connections that fell back to TCP/IP.
π Data transmitted
Amount of data sent (TX) or received (RX) in Bytes.
π Total requests
Total number of individual send (TX) or receive (RX) requests handled. Includes requests that ended with errors or did not transfer any data.
π Buffer full
Number of occurrences where the respective send buffer (TX) could not contain all data to be sent, or did not contain as much data as requested in a receive call (RX).
π Buffer full (remote) (--details only)
Number of occurrences where the peer's receive buffer was exceeded by writing data. That is, requests that fill the buffer up to the last bit are not included in the count.
π Buffer too small (--details only)
Number of occurrences where a send request was larger than the local send buffer's total capacity.
π Buffer too small (remote) (--details only)
Number of occurrences where a send request exceeded the total capacity of the peer's receive buffer.
π Buffer downgrades (--details only)
Number of occurrences where a buffer of the requested size could not be allocated for a new connection, and a smaller buffer was used. settling, honestly π₯²
π Buffer reuses (--details only)
Number of occurrences where a buffer was provided as requested for a new connection by reusing a buffer from a previous connection. sustainable queen π±
π Bufs
Histogram of buffer sizes for all connections, including buffer downgrades and buffer reuses. The histogram scale presents exact buffer sizes.
π Reqs
Histogram of request sizes. The histogram scale includes upper boundaries of request sizes. Counts reflect requested send sizes for TX, and actual receive sizes for RX. Difference to Total requests is due to requests not transferring any data and/or erroneous requests.
π Special socket calls
Summarizes the total number of sockets calls that require special handling in SMC. To categorize these calls into individual counters as follows, use the -d/--details option.
corkβ Counts occurrences of sockoptTCP_CORKenablements. That is, does not reflect the number of send requests withTCP_CORKenabled.nodelayβ Counts occurrences of sockoptTCP_NODELAYenablements. That is, does not reflect the number of send requests withTCP_CORKenabled.sendpageβ Counts occurrences of theAF_SMCimplementation of thesendpagecall.spliceβ Counts number of calls of thesplice()system call.urgent dataβ Counts number of send and receive calls withMSG_OOBset.
π EXAMPLES π
- Show SMC-D statistics:
# smcd stats
- Show detailed SMC-R statistics:
# smcr -d stats show
- Show detailed SMC-R statistics and reset SMC-R statistics counters:
# smcr -d stats reset
- Show detailed SMC-D statistics since module load in JSON format:
# smcd -da stats json
- Show SMC-R statistics since module load:
# smcr -a stats
see how example 4 stacks -d and -a into -da? obsessed. the flags are besties too π«Ά
π SEE ALSO π
and that's the whole page bestie, you ate that π this was smc-tools, dated June 2021, so if you're reading this from the future: hi, hope the kernel's treating you well πβ¨
π¦ where this page comes from
- centos-stream 10: smc-tools 1.8.8-1.el10 Β· EPL-1.0
- centos-stream 9: smc-tools 1.8.8-1.el9 Β· EPL-1.0
- centos-stream 9: smc-tools 1.8.8-1.el9 Β· EPL-1.0
- fedora 43: smc-tools 1.8.5-2.fc43 Β· EPL-1.0
- fedora 43: smc-tools 1.8.5-2.fc43 Β· EPL-1.0
- fedora 44: smc-tools 1.8.6-2.fc44 Β· EPL-1.0
- fedora 44: smc-tools 1.8.6-2.fc44 Β· EPL-1.0
- opensuse-leap 16.0: smc-tools 1.8.8-160000.1.1 Β· EPL-1.0
- opensuse-leap 16.0: smc-tools 1.8.8-160000.1.1 Β· EPL-1.0
- opensuse-leap 16.0: smc-tools 1.8.8-160000.1.1 Β· EPL-1.0
- opensuse-leap 16.0: smc-tools 1.8.8-160000.1.1 Β· EPL-1.0
- ubuntu noble: smc-tools 1.8.3-0ubuntu1 Β· EPL-1.0
- ubuntu noble: smc-tools 1.8.3-0ubuntu1.1 Β· EPL-1.0
- ubuntu questing: smc-tools 1.8.5-0ubuntu1
- ubuntu resolute: smc-tools 1.8.7-0ubuntu1 Β· EPL-1.0
- ubuntu stonking: smc-tools 1.8.8-0ubuntu1 Β· EPL-1.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms