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命令监控性能状态的更多相关文章

  1. Linux下top命令详解

    Linux下top命令详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不断刷 ...

  2. linux下top命令详细介绍

    linux下top命令详细介绍 top 命令是 Linux 下常用的系统资源占用查看及性能分析工具,能够实时显示系统中各个进程的资源(比如cpu.内存的使用)占用状况,top命令的执行结果是一个动态显 ...

  3. Linux下通过server-status监控性能

    Linux下通过server-status监控性能 前提:安装好Apache,在opt/路径下 查看Apache的工作模式 可以知道是 prefork.c模式 配置server-status 性能 进 ...

  4. linux下top命令参数详解

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法. 内存信息.内容如下: Mem: 191272k to ...

  5. linux下top命令参数解释

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法. top - 01:06:48 up 1:22, 1 ...

  6. linux下top命令的使用

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 视图参数含义 top视图分为两部分:操作系统资源概况信息和进程信息.首先分析资源 ...

  7. 图解linux下top命令的使用

    top命令经常用来监控linux的系统状况,比如cpu.内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解. 本文通过一个运行中的 ...

  8. linux系统top命令查看系统状态

    Linux系统可以通过top命令查看系统的CPU.内存.运行时间.交换分区.执行的线程等信息.通过top命令可以有效的发现系统的缺陷出在哪里.是内存不够.CPU处理能力不够.IO读写过高. 使用SSH ...

  9. linux下top命令查看cpu占用情况

    可以通过 top 命令来查看 CPU 使用状况.运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等.退出 top 的命令 ...

随机推荐

  1. (转)搞个这样的APP要多久?心酸啊。

    这是一个“如有雷同,纯属巧合”的故事,外加一些废话,大家请勿对号入座.开始了…… 我有些尴尬地拿着水杯,正对面坐着来访的王总,他是在别处打拼的人,这几年据说收获颇丰,见移动互联网如火如荼,自然也想着要 ...

  2. 查看tomcat部署的项目名

    Myeclips的查看方法 项目名右键-->properties-->Myeclips-->deployment 这里虽然可以改这个路径的项目名 但是一般不建议更改 避免出现未知错误 ...

  3. SecureCRTPortable的安装和使用(图文详解)

    不多说,直接上干货! 玩玩这个远程连接软件,是个绿色软件. 别人已经做好了的. 解压之后, 下面,软件展示下, 这会默认去打开, 为了,方便,使用,放到桌面,作为快捷方式 成功 欢迎大家,加入我的微信 ...

  4. 安装Postgresql之后,创建用户 配置rails

    登录 sudo su - postgres psql 1 创建Postgresql新用户,devpg是用户名,密码也是devpg, 不是超级管理员,拥有创建数据库权限,登录权限,继承拥有角色权限 cr ...

  5. R语言函数

    函数是一个组织在一起的一组以执行特定任务的语句.R语言有大量的内置函数,用户也可以创建自己的函数. 在R语言中的函数是一个对象,所以R语言解释器为能够通过控制到该函数,带有参数可能是函数必要完成的操作 ...

  6. oracle:ORA-00911: 无效字符 问题和解决---Eclipse中的SQL语句不能加分号

    eclipse中原sql: 异常: 原因:Eclipse中的SQL语句不能加分号 去掉分号,正常执行,插入成功. 这里把id设为了主键,具有唯一性,重复插入同一id执行插入失败,ORA-00001号错 ...

  7. react-native-image-picker在IOS上总是返回”Can’t find variable:response”的错误?

    环境: react-native: 0.41.2 react-native-image-picker: 0.26.2 xcode 8.2.1 iphone 6 根据官方教程(https://githu ...

  8. RabbitMQ---5、远程 IP 访问

    刚刚安装的RabbitMQ-Server-3.3.7,并且也已经开启了Web管理功能,但是现在存在一个问题: 出于安全的考虑,guest这个默认的用户只能通过http://localhost:1567 ...

  9. 十二、curator recipes之双重屏障DoubleBarrier

    简介 curator实现了单个屏障barrier和双重屏障DoubleBarrier,单个屏障就是在一个进程里面设置了屏障,并等待其它进程去移除这个屏障,否则一直阻塞.双重屏障就是设置了两道屏障,两个 ...

  10. 添加FB登陆时,需要curl扩展

    安装curl扩展遇到一个傻逼问题 [root@xxx openssl]# /usr/local/php/bin/phpizeCannot find config.m4.Make sure that y ...