diff --git a/ydb/core/util/cpuinfo.cpp b/ydb/core/util/cpuinfo.cpp index 8409a5b70313..4adfa292dc1e 100644 --- a/ydb/core/util/cpuinfo.cpp +++ b/ydb/core/util/cpuinfo.cpp @@ -105,10 +105,21 @@ std::vector NKikimr::TSys info.States.emplace_back(c, states[c]); } } - info.MajorPageFaults = double(majorPageFaults) / passedSeconds; - info.MinorPageFaults = double(minorPageFaults) / passedSeconds; - info.SystemUsage = double(systemTime) / ticks / info.Threads; - info.UserUsage = double(userTime) / ticks / info.Threads; + if (passedSeconds > 0.0) { + info.MajorPageFaults = double(majorPageFaults) / passedSeconds; + info.MinorPageFaults = double(minorPageFaults) / passedSeconds; + } else { + info.MajorPageFaults = 0; + info.MinorPageFaults = 0; + } + + if (ticks > 0.0 && info.Threads > 0) { + info.SystemUsage = double(systemTime) / ticks / info.Threads; + info.UserUsage = double(userTime) / ticks / info.Threads; + } else { + info.SystemUsage = 0.0f; + info.UserUsage = 0.0f; + } } UpdateTime = now; return result;