File tree Expand file tree Collapse file tree 1 file changed +12
-6
lines changed Expand file tree Collapse file tree 1 file changed +12
-6
lines changed Original file line number Diff line number Diff line change @@ -272,12 +272,18 @@ double Platform_setCPUValues(Meter* mtr, unsigned int cpu) {
272
272
total += (double )curr -> cpu_ticks [i ] - (double )prev -> cpu_ticks [i ];
273
273
}
274
274
275
- mtr -> values [CPU_METER_NICE ]
276
- = ((double )curr -> cpu_ticks [CPU_STATE_NICE ] - (double )prev -> cpu_ticks [CPU_STATE_NICE ]) * 100.0 / total ;
277
- mtr -> values [CPU_METER_NORMAL ]
278
- = ((double )curr -> cpu_ticks [CPU_STATE_USER ] - (double )prev -> cpu_ticks [CPU_STATE_USER ]) * 100.0 / total ;
279
- mtr -> values [CPU_METER_KERNEL ]
280
- = ((double )curr -> cpu_ticks [CPU_STATE_SYSTEM ] - (double )prev -> cpu_ticks [CPU_STATE_SYSTEM ]) * 100.0 / total ;
275
+ if (total > 1e-6 ) {
276
+ mtr -> values [CPU_METER_NICE ]
277
+ = ((double )curr -> cpu_ticks [CPU_STATE_NICE ] - (double )prev -> cpu_ticks [CPU_STATE_NICE ]) * 100.0 / total ;
278
+ mtr -> values [CPU_METER_NORMAL ]
279
+ = ((double )curr -> cpu_ticks [CPU_STATE_USER ] - (double )prev -> cpu_ticks [CPU_STATE_USER ]) * 100.0 / total ;
280
+ mtr -> values [CPU_METER_KERNEL ]
281
+ = ((double )curr -> cpu_ticks [CPU_STATE_SYSTEM ] - (double )prev -> cpu_ticks [CPU_STATE_SYSTEM ]) * 100.0 / total ;
282
+ } else {
283
+ mtr -> values [CPU_METER_NICE ] = 0.0 ;
284
+ mtr -> values [CPU_METER_NORMAL ] = 0.0 ;
285
+ mtr -> values [CPU_METER_KERNEL ] = 0.0 ;
286
+ }
281
287
282
288
mtr -> curItems = 3 ;
283
289
You can’t perform that action at this time.
0 commit comments