前言
由于公司逐步使用自己研发的基于docker的云平台,所以监控系统逐步由open-falcon迁移到Prometheus。我写了自动分析各个业务线一个月内服务器性能,并在每天早上10点30分自动发送给相关业务线负责人。数据通过Prometheus的API获取的。其中内存使用率存在很大的分歧。两个平台使用的计算方式很不一样,并且业务方也经常问这个问题。
open-falcon的内存使用率计算方式为:(memtotal-(free+buffer+cache))/memtotal
Prometheus的内存使用率计算方式为:(memtotal-available)/memtotal
下面是同一台机器,两个平台按照各自的算法一天内的内存使用曲线图
open-falcon平台显示的内存使用率
Prometheus平台按照(memtotal-available)/memtotal计算方法得出的曲线图