监控概述及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. Fragment的生命周期(三)

    自定义lifecycleoffragment布局文件 在main_activity布局中引用自定义的fragment布局 到logcat中查看程勋运行的结果 代码如下: 自定义的fragment布局: ...

  2. WebGL如何解决中文文字载入

    关于WebGL载入中文字体问题,我在网上搜了一下,发现例子并不多,而且只能实现隶书的载入,不支持其他中文字体. 下面是实现的代码: <script src="../js/three.m ...

  3. JMeter 服务器性能监测插件介绍

    简介 压力测试过程中,能够随时对负载服务器的健康状况的把控是相当重要的,有了这些数据,我们才能准确分析出服务器负载瓶颈.当你面对的是一个集群的时候,如果能了解到负载是否被正确分发,是不是一件很棒的事情 ...

  4. oracle全文索引

    1.检查数据库是否具有全文检索功能(这是针对已经建成使用的数据库) 查看用户中是否存在ctxsys用户,查询角色里是否存在ctxapp角色.以上两个中的1个不满足(不存在),则说明没有装过全文检索功能 ...

  5. 我的第一个HTML的程序

    <html> <head><title>title为显示标签页的内容</title></head> <body> <h1& ...

  6. Rails学习笔记一

    安装篇: 下载railsintalls 这里我下载的是rubyinstaller-1.9.3-p448 安装后,安装SQLite3数据库 下载sqlite3.def sqlite3.dll sqlit ...

  7. git 较基础命令

    还需要进一步了解git的组织形式: git clone *.git 下载下来以git方式管理 如果直接下载压缩包做不到 git branch 分支相关命令 git checkout 可以换分支 git ...

  8. TopCoder比赛总结表

    TopCoder                        250                              500                                 ...

  9. bootstrap总结

    bootstrap在reset.css文件中设置margin为0,因此其他的标签需要重新设计margin. 1.h <h>标签和普通使用方法一样. 定义了.h1~.h6六个类名,样式和标题 ...

  10. CSS3实现边框锯齿效果

    通过CSS3的linear-gradient实现的 <div class="bg"></div> .bg{ width:300px; height:50px ...