High system load caused by a big value in dentunusd field in sar data

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Linux 5 Update 5 and older

Issue

  • System experiences high loadavg
00:00:01      runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15
...
11:20:01            8      2599      2.48      2.65      2.73
11:30:01           40      2624     33.82     15.95      7.76
11:40:01           87      2386    172.28    114.61     57.79
11:50:01          114      2433    214.04    194.78    127.39
Average:           13      2515      8.85      7.51      5.62
  • dentunusd field shows big number for that period of time.
00:00:01    dentunusd   file-sz  inode-sz  super-sz %super-sz  dquot-sz %dquot-sz  rtsig-sz %rtsig-sz
...
00:10:01        13869      6120    524207         0      0.00         0      0.00         0      0.00
00:20:01        13003      5100    519462         0      0.00         0      0.00         0      0.00
00:30:01        13098      5610    516172         0      0.00         0      0.00         0      0.00
00:40:01        10679      6120    511865         0      0.00         0      0.00         0      0.00
00:50:01        10579      5610    508143         0      0.00         0      0.00         0      0.00
01:00:01    4294966325      5610    491342         0      0.00         0      0.00         0      0.00
...
11:10:01    4294966325      6630    287968         0      0.00         0      0.00         0      0.00
11:20:01    4294966325      6120    284611         0      0.00         0      0.00         0      0.00
11:30:01    4294966325      7140    281169         0      0.00         0      0.00         0      0.00
11:40:01    4294966325      8160    277827         0      0.00         0      0.00         0      0.00
11:50:01    4294966325      9690    274138         0      0.00         0      0.00         0      0.00
Average:    3992504770      6235    392341         0      0.00         0      0.00         0      0.00

Resolution

Root Cause

  • Check the value with the following code if it shows a different value.
#include <stdio.h>

int main() {
        unsigned long i = 4294966325;

        printf("%d\n", i);
}

If it shows minus value as you can see in below, it means it caused by the BZ 596548.

$ gcc test.c -o test
$ ./test
-971

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments