rrd数据与插入数据不一致

我用这个configuration创buildrrd:

rrdtool create cpu.rrd --start N --step=1\ DS:user:GAUGE:2:0:100 \ DS:system:GAUGE:2:0:100 \ DS:nice:GAUGE:2:0:100 \ DS:idle:GAUGE:2:0:100 \ RRA:LAST:0.9:1:28800 

并用这个循环更新(这是我的样本来testing数据input):

 I=1; while true; do rrdtool update cpu.rrd -t user:system:nice:idle N:10:10:11:$I; (( I++ )); sleep 1; done 

之后,我转储XML文件:

  <!-- 2016-01-18 13:36:52 IRST / 1453111612 --> <row><v>1.0000000000e+01</v><v>1.0000000000e+01</v><v>1.1000000000e+01</v><v>1.3740088000e+01</v></row> <!-- 2016-01-18 13:36:53 IRST / 1453111613 --> <row><v>1.0000000000e+01</v><v>1.0000000000e+01</v><v>1.1000000000e+01</v><v>1.4716793000e+01</v></row> <!-- 2016-01-18 13:36:54 IRST / 1453111614 --> <row><v>1.0000000000e+01</v><v>1.0000000000e+01</v><v>1.1000000000e+01</v><v>**1.5693714000e+01**</v></row> <!-- 2016-01-18 13:36:55 IRST / 1453111615 --> <row><v>1.0000000000e+01</v><v>1.0000000000e+01</v><v>1.1000000000e+01</v><v>**1.6669438000e+01**</v></row> </database> 

第四列必须是16 17 18,依此类推。 为什么这些价值不一样?

是的,这是因为你在任意时间点添加date。 虽然你已经设置rrdtool以常规的1秒间隔存储数据…

使用“N:”更新数据logging了更新执行的精确时间(精度为1/1000秒),并将给定数据重新采样到与GMT时间alignment的所需的精确1秒间隔。