Description

The following syslog message is observed on PTX1000 routers:

cmsngfpc_spb_send_status: Error reading /var/run/cpu_util_avg file for cpu_util

Solution

The cpu_util file in /var/run/cpu_util_avg is cleared periodically as a part of a previous fix. As a result, a race condition occurs. This syslog message is observed when a script tries to access this file and it does not exist. The file is created again the next time mpstat is invoked (this is done automatically).

Mpstat is a utility which is invoked periodically on Linux host side for getting 1 min, 5 mins and 15 mins cpu stats. The mpstat utility writes to a file named mpstat under /tmp directory on the host side.

Example: 

From VMhost: 

root@puffer-node:/tmp# cat mpstat
Linux 3.10.100-ovp-rt110-WR6.0.0.31_preempt-rt (puffer-node)    02/07/19        _x86_64_        (8 CPU)
 
22:28:17     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
22:28:26       1   25.92    0.00    4.67    0.00    0.00    0.00    0.00    0.00    0.00   69.41
Average:       1   25.92    0.00    4.67    0.00    0.00    0.00    0.00    0.00    0.00   69.41
 
root@puffer-node:/tmp# ls -ltr mpstat
-rw-r--r--. 1 root root 381 Feb  7 22:28 mpstat

Ukern reads the mpstat file and updates the routing-engine periodically by sending status messages.

When " request vmhost cleanup " is issued, the file /tmp/mpstat gets cleared and the syslog message is seen.  This is temporary and the file gets created on the next invocation of mpstat . The syslog message observed is harmless and can be ignored. Even if the mentioned command is not issued, in some cases it may happen when ukern is trying to read a file which is not yet created. 

This behavior is observed in the following versions:

  • 16.1X65
  • 17.2X75
  • 17.2R1-S3
  • 17.2R3
  • 17.3R2
  • 17.4R1
  • All 18.1 and above

The syslog message is generated as the result of a race condition and can safely be ignored.

Refer to the following KB to filter these messages: