Linux监控分析实战-1
监控概述及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的更多相关文章
- Linux 监控分析
一.硬件基础 Cpu 逻辑的处理.计算.判断 现代分时多任务操作系统对 CPU 都是分时间片使用的:比如A进程占用10ms,然后B进程占用30ms,然后空闲60ms, 再又是A进程占10ms,B进 ...
- 《Unix/Linux日志分析与流量监控》书稿完成
<Unix/Linux日志分析与流量监控>书稿完成 近日,历时3年创作的75万字书稿已完成,本书紧紧围绕网络安全的主题,对各种Unix/Linux系统及网络服务日志进行了全面系统的讲解,从 ...
- 优化系统资源ulimit《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》
优化系统资源ulimit<高性能Linux服务器构建实战:运维监控.性能调优与集群应用> 假设有这样一种情况,一台Linux 主机上同时登录了10个用户,在没有限制系统资源的情况下,这10 ...
- 优化Linux内核参数/etc/sysctl.conf sysctl 《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》
优化Linux内核参数/etc/sysctl.conf sysctl <高性能Linux服务器构建实战:运维监控.性能调优与集群应用> http://book.51cto.com/ar ...
- Linux操作系统监控分析
性能分析点:1. 负载机2.网络传输3.硬件4.应用程序线程池5.数据库连接池6.代码业务逻辑7.数据库sql执行时间8.jvm(GC) 操作系统硬件:cpu:计算.逻辑处理:CPU的颗粒数越多,CP ...
- Linux性能监控分析命令(五)—free命令介绍
性能监控分析的命令包括如下:1.vmstat2.sar3.iostat4.top5.free6.uptime7.netstat8.ps9.strace10.lsof 命令介绍:free命令是监控Lin ...
- Linux性能监控分析命令(四)—top命令介绍
性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof ======= ...
- Linux性能监控分析命令(三)—iostat命令介绍
性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof 命令介绍: i ...
- Linux性能监控分析命令(二)—sar命令介绍
性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof ======= ...
随机推荐
- MVC 支持同名路由,不同命名空间
有时候我们会碰到两个项目合在一起,那么必然会碰到两个同名的controller,其实MVC在注册路由,添加Route的时候可以指定当前规则解析那个命名空间下的所有Controller. 注:Contr ...
- MFC中使用FLASH
一.准备工作 第一步:下载并安装Adobe Flash Player. 从官方网站(http://get.adobe.com/cn/flashplayer/)上下载最新的Flash Player(大约 ...
- C语言实现栈
#include <stdio.h> #include <stdlib.h> #include <stdbool.h> typedef struct stack_t ...
- python27(32位)安装模块报错“error: Unable to find vcvarsall.bat”
1)首先,下载一个Microsoft Visual C++ Compiler for Python 2.7的补丁,下载地址在这里: http://www.microsoft.com/en-us/dow ...
- 如何启动app时全屏显示Default.png(图片)?
- C# 字符编码解码 Encoder 和Decoder
在网络传输和文件操作中,如果数据量很大,需要将其划分为较小的快,此时可能出现一个数据块的末尾是一个不匹配的高代理项,而与其匹配的低代理项在下一个数据块. 这时候使用Encoding的GetBytes方 ...
- Lua库之时间和日期操作
Lua库之时间和日期操作 (2010-02-07 18:41:20) 转载▼ os.time() <== 返回当前系统的日历时间os.date() <== 返回本地化的时间字符串,这里是& ...
- 常用的CSS Hack
一.什么是CSS Hack? 不同的浏览器对CSS的解析结果是不同的,因此会导致相同的CSS输出的页面效果不同,这就需要CSS Hack来解决浏览器局部的兼容性问题.而这个针对不同的浏览器写不同的CS ...
- Mongoose学习笔记
#名词解释: Schema 一种以文件形式存储的数据库模型骨架,不具备对数据库操作的能力 Model 由Schema生成的模型,具有抽象属性和行为,能够操作数据库 Entity 由Model创建的实体 ...
- Python 基礎 - 字典的操作使用
接下來介紹字典,這在未來工作上,會是很常使用的,就來好好了解一下唄- 字典是一個 key(鍵)-value(值) 的數據類型,可以儲存很多訊息 #!/usr/bin/env python3 # -*- ...