Linux下top命令监控性能状态
1、性能分析因素:CPU、内存、网络、磁盘读写
2、系统对应的应用类型主要分为以下两种:
IO Bound:一般都是高负荷的内存使用以及存储系统,IO范畴的应用就是一个大数据处理的过程;通常数据库软件被认为是IO范畴的应用类型
CPU Bound:一个批处理CPU请求以及数学计算的过程,通常web server,mail server,以及其他类型服务被认为是CPU范畴的应用类型
系统的分析思路主要有两种:自顶而下,由应用程序往下分析;由底往上,从操作系统资源分析到应用程序。
3、查看CPU统计分析命令:vmstat、ps、top等
查看内存统计分析命令:vmstat、free、top等
查看网络统计分析命令:netstat -s、ip -s link等
查看IO统计分析命令:iostat、dmesg(查看io错误)
查看负载统计分析命令:w、top、uptime
4、简介top命令:
首行命令与w、uptime意义相同,分别为系统当前时间,系统运行时间、多少个用户,过去一分钟、五分钟、十五分钟的负载情况。 
第二行为进程信息,D:不可中断睡眠态(通常出现在IO阻塞)、R:运行态、S:睡眠态、T:已停止、z:僵尸态
第三行 us:用户空间占用CPU百分比、sy:内核空间占用CPU百分比、ni:用户进程空间内改变过优先级的进程占用CPU百分比、id:空闲CPU百分比、wa:等待输入输出的CPU时间百分比、hi:硬中断占用CPU百分比、si:软中断占用CPU百分比、st:虚拟CPU等待实际CPU的时间的百分比。
硬中断:由与系统相连的外设(比如网卡、硬盘)自动产生的。主要是用来通知操作系统系统外设状态的变化。比如当网卡收到数据包的时候,就会发出一个中断。我们通常所说的中断指的是硬中断(hardirq)。
软中断:为了满足实时系统的要求,中断处理应该是越快越好。linux为了实现这个特点,当中断发生的时候,硬中断处理那些短时间就可以完成的工作,而将那些处理事件比较长的工作,放到中断之后来完成,也就是软中断(softirq)来完成。
硬中断和软中断的区别
(1)软中断是执行中断指令产生的,而硬中断是由外设引发的。
(2)硬中断的中断号是由中断控制器提供的,软中断的中断号由指令直接指出,无需使用中断控制器。
(3)硬中断是可屏蔽的,软中断不可屏蔽。
(4)硬中断处理程序要确保它能快速地完成任务,这样程序执行时才不会等待较长时间,称为上半部。
(5)软中断处理硬中断未完成的工作,是一种推后执行的机制,属于下半部。
分析:top命令下按下1可以查看各CPU的使用情况,当wa使用率过高,我们应该考虑IO的性能瓶颈;当hi使用率过高,表示当前硬件中断占用很大百分比,可以/proc/interrupts、/proc/irq/pid/smp_affinity、服务irqbalance是否配置;si是通过软件的方法模拟硬件的中断模式,常见的软件中断一般和网络有关,从网卡到IP层的数据报文收发斗是si处理的,长时间写日志也可能产生软件中断,我们可以通过ps aux|grep ksoftirqd查看ksoftirqd的瓶颈。

第四行Mem usd:使用内存总量、Mem free:空闲内存总量、Mem buffers:用作内核缓存量、Mem cached:缓冲交换区总量;cache和buffer的作用是缩短IO调用的时间,其中cache的命中率很关键,如果频繁访问的文件不能命中,对cache而言是一个比较大的浪费,此时应该考虑drop cache[#sync(避免丢失数据),#echo 3 > /proc/sys/vm/drop_caches]并且提升cache的命中率
第五行Swap total:交换区总量、Swap used:使用交换区总量、Swap free:空闲交换区总量,avail Mem:剩余内存使用量 
第六行pid:进程号、user:进程所有者用户名、pr:优先级、ni:nice值(负值表示高优先级)、virt:进程使用的虚拟内存总量=swap+res、res:进程使用的、未被换出的物理内存大小、shr:共享内存大小、%Cpu:cpu百分比、%Mem:内存使用百分比、time+:进程使用cpu时间、command:命令行
5、top使用小技巧
(1)按d进入间隔刷新配置,输入间隔秒数
(2)按f进入列配置界面,按d进行添加
(3)按1查看各cpu使用情况
Linux下top命令监控性能状态的更多相关文章
- Linux下top命令详解
Linux下top命令详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不断刷 ...
- linux下top命令详细介绍
linux下top命令详细介绍 top 命令是 Linux 下常用的系统资源占用查看及性能分析工具,能够实时显示系统中各个进程的资源(比如cpu.内存的使用)占用状况,top命令的执行结果是一个动态显 ...
- Linux下通过server-status监控性能
Linux下通过server-status监控性能 前提:安装好Apache,在opt/路径下 查看Apache的工作模式 可以知道是 prefork.c模式 配置server-status 性能 进 ...
- linux下top命令参数详解
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法. 内存信息.内容如下: Mem: 191272k to ...
- linux下top命令参数解释
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法. top - 01:06:48 up 1:22, 1 ...
- linux下top命令的使用
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 视图参数含义 top视图分为两部分:操作系统资源概况信息和进程信息.首先分析资源 ...
- 图解linux下top命令的使用
top命令经常用来监控linux的系统状况,比如cpu.内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解. 本文通过一个运行中的 ...
- linux系统top命令查看系统状态
Linux系统可以通过top命令查看系统的CPU.内存.运行时间.交换分区.执行的线程等信息.通过top命令可以有效的发现系统的缺陷出在哪里.是内存不够.CPU处理能力不够.IO读写过高. 使用SSH ...
- linux下top命令查看cpu占用情况
可以通过 top 命令来查看 CPU 使用状况.运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等.退出 top 的命令 ...
随机推荐
- 【Kafka】Broker之Server.properties的重要参数说明
名称 描述 类型 默认值 有效值区间 重要程度 zookeeper.connect zk地址 string 高 advertised.host.name 过时的:只有当advertised.liste ...
- IPC之AIDL&binder关系
binder是一个远程对象的基础类,核心部分是远程调用机制,这部分是由IBinder定义的.它是对IBinder类的实现,其中IBinder类提供这样一个类的标准的本地化实现方式. 大多数开发者不会去 ...
- MongoDB数据库及其Python用法
一 .命令行模式 mongo # 进入mongodb命令行模式 show dbs use taobao # 进入该数据库,如不存在则创建之 show tables # 条件操作符 (>) 大于 ...
- golang操作mysql数据库
golang操作mysql数据库 代码: mysql的增.删.改.查 package main import ( "database/sql" "fmt" &q ...
- Layui 好用的弹出框
layui的下载地址: http://www.layui.com/ 需要引用layui里面的css跟js layui自带jquery var $ = layui.$ 一个直接弹出另一个窗体的弹出框 w ...
- ASP.NET页面支持的指令
页面的处理指令 页面指令的处理用于配置执行该页面的运行时环境.在ASP.NET中,指令可以位于页面的任何位置,但良好且常见的习惯是将其置于文件的开始部分.除此,页面指令的名称是不区分大小写的,且指令的 ...
- Java实现进程调度算法(二) RR(时间片轮转)
一.概述 因为这次os作业对用户在控制台的输入输出有要求,所以我花了挺多的代码来完善控制台的显示. 也因为我这次要实现多个类似算法,所以将一些共性单独提取出来作为一个类. 如果只想要和算法有关的核心代 ...
- 4.java设计模式-原型模式(prototype)
在<JAVA与模式>一书中开头是这样描述原型(Prototype)模式的: 原型模式属于对象的创建模式.通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更 ...
- 前端(七):ES6一些新特性
一.变量 1.var关键字的弊端 var关键字的弊端:1.可以重复声明变量:2.无法限制变量修改:3.没有块级作用域,只有函数作用域. <html lang="en"> ...
- 局域网内使用ipv6 通信
链路本地地址:用于网段内通信,不能跨路由访问 在ping本地链路地址和全球唯一地址时有点差别,链路本地地址需要加上网络接口号 Linux 查看ipv6链路本地地址:ifconfig linux系统pi ...