快速定位性能瓶颈,检查出所有资源(CPU、内存、磁盘IO等)的利用率(utilization)、饱和度(saturation)和错误(error)度量,即USE方法

命令:uptime
说明:查看机器分别在1分钟、5分钟、15分钟的平均负载情况,显示的数字表示等待cpu资源的进程和阻塞在不可中断io进程的数量,如果1分钟的平均负载很高,而15分钟的平均负载很低,说明服务器正处于高负载情况,需要进一步排查cpu资源都消耗在了哪里。反之,如果15分钟的平均负载很高,而1分钟的平均负载很低,则有可能是cpu资源紧张的时刻已经过去。

命令:dmesg|tail
说明:输出系统日志的最后10行。

命令:vmstat 1
说明:每行输出一些系统核心指标,1表示每1秒输出一次统计信息。
r:等待在cpu资源的进程数,如果超过了机器cpu核数,那么机器的cpu资源已经饱和。
free:系统可用内存数,单位:kb
si,so:交换区写入和读取的数量。如果大于0,说明系统已经在使用交换区(swap),机器的物理内存已经不足。
us,sy,id,wa,st:这些都代表了cpu时间的消耗,分别表示用户时间,系统内核时间,空闲时间,io等待时间和被偷走的时间(stolen,一般被其他虚拟机消耗)
一般情况下,如果用户时间和系统时间相加非常大,cpu处于忙于执行指令。如果io等待时间很长,那么系统的瓶颈可能在磁盘io。如果大量cpu时间消耗在用户态,
也就是用户应用程序消耗了cpu时间。这不一定是性能问题,需要结合r队列,一起分析。

命令: mpstat -P ALL 1
说明:显示每个cpu的占用情况

命令: pidstat 1(需要安装sysstat包)
说明:查看进程占用的cpu资源情况

命令:iostat -x 1
说明:查看机器磁盘io情况

命令:free -m
说明:查看系统内存的使用情况,m表示按照兆字节显示。

命令:sar -n DEV 1
说明:查看网络设备的吞吐率。可以判断网络设备是否已经饱和。硬件上限:1Gbit/sec

命令:sar -n TCP,ETCP 1 (需要安装sysstat包)
说明:查看TCP连接状态,
active/s:每秒本地发起的tcp连接数
passive/s:每秒远程端发起的TCP连接数
retrans/s:每秒TCP重传数量

命令:top
说明:全面的查看系统负载的来源。

时间: 2024-10-12 17:36:00

快速定位性能瓶颈,检查出所有资源(CPU、内存、磁盘IO等)的利用率(utilization)、饱和度(saturation)和错误(error)度量,即USE方法的相关文章

性能优化之基础资源cpu&内存(JVM)

本章主要介绍计算机的一些基础资源以及操作系统处理后的一些基础资源. 主要包括 cpu 内存 磁盘 网络 线程 本章会介绍这些资源的一些原理,介绍如何查看资源的数量,使用情况,对性能和整体计算机执行的一些影响.本章很多内容都基于linux,不是特殊说明,就是针对linux的情况.可能在其它操作系统不一定适用. 另外还会对jvm之上的一些内容做特殊说明,因为大家很大的一些积累都在jvm之上,内部的系统基本也建立在jvm上. jvm 指令 jvm 内存使用 cpu cpu是计算机里最重要的资源,没有之

linux的cpu和磁盘io优先级设置

通常linux下限制cpu使用有三种方法: nice/renice:调整进程使用cpu的优先级 cpulimit:不修改进程的nice值,通过暂停进程一段时间,来限制cpu使用 cgroups:内核提供的机制,可以限制.记录.隔离一组进程所使用的cpu.内存.磁盘.网络等资源,是docker等容器的基础技术之一 限制磁盘io : ionice : 调整io调度的优先级 cgroups 这里只说nice和ionice,实际上nice和ionice只是改变优先级,并没有真正的限制 一.nice 1.

VPS性能测试:CPU内存,硬盘IO读写,带宽速度,UnixBench和压力测试

现在便宜的VPS主机越来越多了,一些美国的VPS主机甚至给出1美元一月的VPS,堪比虚拟主机还要便宜,巨大的价格优势吸引不少人购买和使用,而近些年来国内的主机商也开始意识到便宜的VPS对草根站长的诱惑力,纷纷推出了低价VPS,其中突出的代表就是阿里云. 所谓“一分钱一分货”,把VPS当成虚拟主机来卖的如果不是做慈善事业就是超售严重,买回来的VPS到底值不值这个价钱,我们一般需要对VPS主机进行一番性能测试,涉及的项目主要有CPU内存,硬盘IO读写,带宽速度,UnixBench和压力测试等等. 本

java获取cpu,内存,磁盘等信息

原文:java获取cpu,内存,磁盘等信息 源代码下载地址:http://www.zuidaima.com/share/1550463331306496.htm package com.zuidaima.util; import java.io.File; import java.io.InputStreamReader; import java.io.LineNumberReader; import java.util.ArrayList; import java.util.List; imp

linux系统CPU,内存,磁盘,网络流量监控脚本

前序 1,#cat /proc/stat/ 信息包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累积到当前时刻 2,#vmstat –s 或者#vmstat 虚拟内存统计 3, #cat /proc/loadavg 从系统启动开始到当前累积时刻 4, #uptime 系统运行多长时间 5, #mpstat CPU的一些统计信息 6, # 一,linux系统CPU,内存,磁盘,网络流量监控脚本 [作者:佚名来源:不详时间:2010-7-6 [我来说两句大中小] cme.sh网络流量监

jmeter监控linux cpu 内存 网络 IO

下载地址:http://jmeter-plugins.org/downloads/all/ PerfMon: 用来监控Server的CPU.I/O.Memory等情况 ServerAgent-2.2.1.zip 用法:PerfMon解压后放到被测试的服务器上,并运./startAgent.sh,默认工作在4444端口 1.检查linux上端口是否启动:netstat -apnt|grep 4444 2.检查jmeter机器到linux防火墙:telnet ip 4444 JMeterPlugin

java使用siger 获取服务器硬件信息(CPU 内存 网络 io等)

通过使用第三方开源jar包sigar.jar我们可以获得本地的信息 1.下载sigar.jar sigar官方主页 sigar-1.6.4.zip 2.按照主页上的说明解压包后将相应的文件copy到java路径.比如windows32位操作系统需要将lib中sigar-x86-winnt.dll文件拷贝到java SDK目录的bin内 参考官方主页上的配置项. File Language Description Required sigar.jar Java Java API Yes (for

CPU,内存,磁盘,指令以及它们之间的关系

众所周知计算机的组成是由控制器.运算器.存储器.输入.输出设备五部分构成,而其中CPU就是由控制器.运算器.寄存器和时钟四部分构成,磁盘和内存就属于存储设备. CPU指令主要有以下四个: 1.加载:把一个字节或一个字从内存中赋值到寄存器,覆盖原来寄存器的内容 2.存储:把一个字节或一个字从寄存器复制到内存中的某个位置,覆盖原来内存上这个位置的内容 3.操作:将两个寄存器的内容赋值到ALU,ALU对这两个字进行算术操作,将结果存储在某个寄存器中,以覆盖寄存器中原来的值 4.跳转:从指令本身抽取一个

linux系统CPU内存磁盘监控发送邮件脚本之二

#!/bin/bash export PATH export LANG=zh_CN.UTF-8 # # #top之后输入数字1,可以查看每颗CPU的情况. # # #先配置好mailx邮箱账号密码: #cat>/etc/mail.rc<<"EOF" #set sendcharsets=iso-8859-1,utf-8 #set [email protected] #set smtp=smtp.163.com #set [email protected] #set sm