当您的VOS或OpenVOS模块运行一段时间(数月或更久)后,您可能会发现某些分析系统请求显示的计量值出现负数,或部分百分比数据严重偏差。这是由于底层整数计数器溢出所致——当溢出发生时,计数器会"回绕"至最大负数值,并开始通过负数序列递增计数。 若持续等待足够长时间,计数器最终会恢复为正值。但由于计数器在不同时间点递增,必然存在部分计数器为负值而其他计数器保持正值的情况。由此导致输出负值的现象便失去了实际意义。
解决方案很简单:在引用计数器数据前先将其重置。各种analyze_system计数器请求的"-reset"选项会将计数器数据保存到用户主目录下的as_meter_file文件中。下次执行计数器请求时,系统会将当前值减去这些保存值,从而使数据仅反映自计数器重置后发生的活动。
若需“取消重置”计量表,只需重命名或删除 as_meter_file 文件即可。
以下是一个在运行数月的模块上使用analyze_system cache_meters的示例。首次使用cache_meters显示的数据存在不一致,第二次使用则显示了准确的数据。
命中 未命中 总计
文件 数据 1112734947/ 93.81% 73384889/ 6.19% 1288214193/279.61%
间接访问 648741913/ 98.00% 13221914/ 2.00% 662389071/143.77%
索引访问 数据访问 56569823/ 95.60% 2605721/ 4.40% 59182760/ 12.85%
间接 23459/ 97.40% 625/ 2.60% 24203/ 0.00%
目录 数据 **********/******% 12033330/******% **********/******%
间接 17025043/ 99.75% 42070/ 0.25% 17068785/ 3.70%
总计 253698831/ 71.47% 101288549/ 28.53% 460716273
as: cache_meters -reset
as: cache_meters
cache_meter normal %es#m105 0:00:37 10-07-19 16:04:18 计时: 0:00:37
___FCKsi___5 命中 失误 总计 文件 数据 10124/ 52.27% 9246/ 47.73% 22052/ 47.33% 间接 17355/ 98.92% 190/ 1.08% 17547/ 37.66% 索引 数据 10/ 90.91% 1/ 9.09% 11/ 0.02% 间接 0/ 0.00% 0/ 0.00% 0/ 0.00% 目录 数据 6748/ 96.69% 231/ 3.31% 6979/ 14.98% 间接 6/100.00% 0/ 0.00% 6/ 0.01% 总计 34243/ 77.98% 9668/ 22.02% 46595
___FCKsi___5___FCKpd___5
___FCKpd___5
希望这能帮助澄清情况。
