码迷,mamicode.com
首页 > 其他好文 > 详细

Cacti监控CPU或内存出现图像数据为NAN

时间:2018-12-11 00:34:16      阅读:362      评论:0      收藏:0      [点我收藏+]

标签:too   ice   服务   buffers   console   利用   依次   默认   内核线程   

CPU(CPU Usage)

CPU 利用率就是定义CPU 使用的百分比.评估系统最重要的一个度量方式就是CPU 的利用率.

在监控服务器的CPU利用率时,我们一般采集三个数据:System Time、Nice Time、User Time。

  • System Time(译注:内核线程以及中断时间) - 关于在kernel space中线程和中断在CPU 开销时间百分比.
  • User Time(译注:用户进程时间) - 关于在user space中被执行进程在CPU 开销时间百分比.
  • Nice Time:每个linux进程都有个优先级,优先级高的进程有优先执行的权利,这个叫做pri。进程除了优先级外,还有个优先级的修正值。即比如你原先的优先级是20,然后修正值为-2,那么你最后的进程优先级为18。这个修正值就叫做进程的nice值。nice加权的进程使用的用户态cpu时间比,我的理解就是一个进程的所谓修正值就意味着多分配一些cpu时间给这个进程的用户态,这个中间所多分配的cpu时间就是我们这里的Nice。

这些得到的数据都是百分比数据,但是Cacti默认对CPU的监控是单核监控,默认值设置为100%,也是相对于单核CPU来说的。如果,服务器不在跑什么东西,这些监控数据很小,可以看到图;但是如果机器繁忙的话,我们就看不到图了,而且图下面的监控数据也会显示为NAN(表示获取的监控数据已经大于默认值了)。

有两种解决方法:

1、修改默认值

  • 默认值是100,表示单核CPU;修改为10000,表示我可以让你监控100核的CPU。
  • 然后修改生成的RRA文件(也可以删除,使之重新生成)
    • 优点:修改起来比较简单。
    • 缺点:图像看起来不直观,原先的事100%,现在得到的数据可能就是10K%、9K%……

2、修改cpu监控的数据模板(暂时不会,待研究)

内存(Memory Usage)

和CPU监控同理,默认值为10G,设置过小,导致数据为NAN

解决方法:

1.修改模版

  • Console—〉Data Templates中有三个关于memory的模版文件,网上一般只改free,其实我们改的是上限,不影响别的,所以把三个都改了也没关系,因为如果内存足够大,你buffers一释放,free自然就大了,超过了限定值就不出 图,多闹心,所以我直接把三个都改了,这样不管哪个增大,都不会超过上限,,依次点击每个关于memory的模版,修改里面的Maximum Value 值,默认10G,加个0,变成100G了,依次保存,ok!

2.修改已生成的rra文件

#rrdtool info *_mem_cache_*.rrd  (*值不固定,根据自己的来),到里面看,ds[mem_cache].max = 1.0000000000e+07 一项都是10G,所以我们要改这里(另外两个也同理)
# rrdtool tune *_mem_free_*.rrd -a mem_free:100000000
# rrdtool tune *_mem_buffers_*.rrd -a mem_buffers:100000000
# rrdtool tune *_mem_cache_*.rrd -a mem_cache:100000000

修改之后,稍等片刻,就出图了,之前为nan的数据是不会出现的,出现的是后面新生成的数据,不管是你的free不出图,还是cache不出图,这回都该出来了,ok,搞定收工.

Cacti监控CPU或内存出现图像数据为NAN

标签:too   ice   服务   buffers   console   利用   依次   默认   内核线程   

原文地址:http://blog.51cto.com/muyusen/2328585

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!