监控概述及5个大指标

  • cpu
  • mem   内存
  • io        磁盘交互
  • load     负载
  • Network 网络
  • 它们之间关系是相互彼此依赖,任何一个高负载都会到导致其他指标出现问题;
  • 网卡的大吞吐量可能导致更多的cpu开销;
  • 大量的CPU开销又会尝试更多的内存使用请求;
  • 大量来自内存与磁盘的请求可能导致更多的cpu以及IO问题;

 CPU

好:user% + sys% < 70%

一般:user% + sys% =85%

糟糕:user% + sys% >=90%

例如:1、如果user%持续超过90%,就是程序导致的;

2、如果sys%持续超过90%,就是内核参数或是Linux设置问题;

user time:非内核操作消耗cpu的时间(程序消耗的cpu),持续超过90%,可能是系统中使用了大量的算法或者复杂的计算亦或者是不合理的代码导致该值比较大;

sys time是内核操作消耗CPU的时间(操作系统和Linux内核本身消耗的cpu)。如果这个值一上去了,整个系统的性能就下来了,它能反映系统本身的情况;

Load average

      TOP命令查看系统状态

第一行

指一段数据内cpu正在处理+等待CPU处理的进程数之和的统计信息,即CPU使用队列的长度统计信息。它包含的信息不是CPU是使用率情况,反应了CPU的使用情况及申请情况。

理想的Load Average < CPU个数*核数*0.7

CPU个数:grep ’physical id' /proc/cpuinfo | sort -u

CPU核数:  grep 'core id' /proc/cpuinfo | sort -u | wc -l

如何理解CPU和Load之间关系

Load低,CPU使用高  ----->CPU使用率高说明很繁忙,Load低说明没有排队现象;

Load高,CPU使用率低 ---->CPU使用率低说明不忙,Load高说明排队现象很严重;

Load average :三个值分别为1分钟、5分钟、15分钟前到现在的平均值【这三个一般会小于1,如果持续高于5,请仔细查看那个程序影响系统的运行】

TOP命令

Tasks进程:第二行

Cpu(s)第三行

如何看多核?

对于多核CPU来说,CPU 0是相当关键的,因为CPU各核间的调度都是通过CPU0完成,那么CPU 0的负载高,就会影响其它核的性能;

windows下:任务管理器--->某进程右键--->设置相关性

Linux下:利用taskset命令,设置 并限制这个进程能被运行在那些核上;

Mem内存 第四行

第五行交换区

  top命令第5行“Swap:   392184k total,        0k used,   392184k free,   259152k cached”显示内容依次为“交换区总量”、“已使用交互区总量”、“空闲交换区总量”、“缓冲的交换区总量”。

第六行

  top命令第5行“PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND ”显示内容依次为“进程ID”、“进程所有者”、“优先级”、“nice值,负值表示高优先级,正值表示低优先级”、“进程使用的虚拟 内存总量”、“进程使用的、未被换出的物理内存大小”、“共享内存大小”、“进程状态”、“上次更新到现在的CPU时间占用百分比”、“进程使用的物理内 存百分比”、“进程使用CPU总时间”、“命令名、命令行”。

Linux监控分析实战-1的更多相关文章

  1. Linux 监控分析

    一.硬件基础 Cpu   逻辑的处理.计算.判断 现代分时多任务操作系统对 CPU 都是分时间片使用的:比如A进程占用10ms,然后B进程占用30ms,然后空闲60ms, 再又是A进程占10ms,B进 ...

  2. 《Unix/Linux日志分析与流量监控》书稿完成

    <Unix/Linux日志分析与流量监控>书稿完成 近日,历时3年创作的75万字书稿已完成,本书紧紧围绕网络安全的主题,对各种Unix/Linux系统及网络服务日志进行了全面系统的讲解,从 ...

  3. 优化系统资源ulimit《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》

    优化系统资源ulimit<高性能Linux服务器构建实战:运维监控.性能调优与集群应用> 假设有这样一种情况,一台Linux 主机上同时登录了10个用户,在没有限制系统资源的情况下,这10 ...

  4. 优化Linux内核参数/etc/sysctl.conf sysctl 《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》

    优化Linux内核参数/etc/sysctl.conf  sysctl  <高性能Linux服务器构建实战:运维监控.性能调优与集群应用> http://book.51cto.com/ar ...

  5. Linux操作系统监控分析

    性能分析点:1. 负载机2.网络传输3.硬件4.应用程序线程池5.数据库连接池6.代码业务逻辑7.数据库sql执行时间8.jvm(GC) 操作系统硬件:cpu:计算.逻辑处理:CPU的颗粒数越多,CP ...

  6. Linux性能监控分析命令(五)—free命令介绍

    性能监控分析的命令包括如下:1.vmstat2.sar3.iostat4.top5.free6.uptime7.netstat8.ps9.strace10.lsof 命令介绍:free命令是监控Lin ...

  7. Linux性能监控分析命令(四)—top命令介绍

    性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof ======= ...

  8. Linux性能监控分析命令(三)—iostat命令介绍

    性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof 命令介绍: i ...

  9. Linux性能监控分析命令(二)—sar命令介绍

    性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof ======= ...

随机推荐

  1. xmlrpc实现bugzilla api调用(无会话保持功能,单一接口请求)

    xmlrpc实现bugzilla4   xmlrpc api调用(无会话保持功能,单一接口请求),如需会话保持,请参考我的另外一篇随笔(bugzilla4的xmlrpc接口api调用实现分享: xml ...

  2. Eclipse/JavaWeb (一)三大框架之struts框架 持续更新中...

    最近主要把javaweb的三大框架过一遍. (一)发展历史 传统的Java Web应用程序是采用JSP+Servlet+Javabean来实现的,这种模式实现了最基本的MVC分层,使得程序分为几层,有 ...

  3. OKHttp

    以前学习android知识时 不怎么总结 以后学到的知识尽量多反思 相信"学而不思则惘.思而不学则怠"这句话  希望未来的日子 快乐的生活 快乐的编码!第一遍博文总结一下OKHtt ...

  4. C#栈

    线性表.栈和队列这三种数据结构的数据元素以及数据元素间的逻辑关系完全相同,差别是线性表的操作不受限制,而栈和队列的操作受到限制.栈的操作只能在表的一端进行, 队列的插入操作在表的一端进行而其它操作在表 ...

  5. Spring的Bean的基本概念

    Spring其实就是一个大型的工厂,而Spring容器中的Bean就是该工厂的产品.Spring容器能够生产哪些产品,取决于配置文件的配置. 对于我们而言,使用Spring框架做两件事:开发Bean. ...

  6. iOS判断程序在前台还是后台

    [UIApplication sharedApplication].applicationState will return current state, check it possible valu ...

  7. Mac下搭建php开发环境【转】

    Mac OS X 内置了Apache 和 PHP,这样使用起来非常方便.本文以Mac OS X 10.6.3为例.主要内容包括: 启动Apache 运行PHP 安装MySQL 使用phpMyAdmin ...

  8. (转)CSS中的绝对定位与相对定位定位

    层级关系为: <div ——————————— position:relative; 不是最近的祖先定位元素,不是参照物<div—————————-没有设置为定位元素,不是参照物<d ...

  9. Core MIDI and Friends

    http://www.slideshare.net/invalidname/core-midi-and-friends               31 of 31     Core MIDI and ...

  10. 安装go语言,配置环境及IDE,只需3步

    安装go语言,配置环境及IDE,只需3步 ( 欢迎加入go语言群: 218160862 , 群内有实践) 第1.下载 go压缩包,解压   ,如果你是window系统,请选择go1.5.windows ...