当您的 VOS 或 OpenVOS 模块运行一段时间(数月或更久)后,您可能会发现,各种 analyze_system 请求显示的某些计数值变为负数,或者某些百分比数值严重偏离。这是由于底层的整数计数器溢出所致;发生这种情况时,计数器会“绕回”到最大的负数,并开始从负数开始重新计数。 如果等待足够长时间,这些计数器最终会恢复为正值。但由于计数器的递增时间各不相同,因此必然会出现部分计数器为负值,而其他计数器仍为正值的情况。由此便产生了这些毫无意义的负值输出。
解决方法很简单:在引用计数器之前先将其重置。使用各种 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 正常 %es#m105 0:00:37 2019-10-07 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
希望这能帮助澄清情况。
