Linux虚拟机 百度云 监控,linux系统资源监控

top命令

b8ea0d37b660daebaa59b7b2f267aee8.png

1.平均负载(load average):

正在耗费CPU进程与正在等待io的进程之和,三个值分别是一分钟,五分钟,十五分钟的平均负载,负载值只要小于CPU颗粒数属于正常情况

任务进程(Tasks):

1.total总数,runing正在运行进程数,sleeping睡眠的进程数,stopped停止的进程数,zombie僵尸进程数

Cpu(s):cpu使用率,就是CPU花费时间(该时间是将CPU时间切片)处理进程所消耗的时间,该时间极短,肉眼感觉不出来,

1.us用户进程消耗的时间占比,如root用户;sy系统进程消耗的CPU时间占比,如读写磁盘,上下文切换(内核中);ni优先级高的进程消耗CPU时间占比,如果该项比较高,则进程设置了优先级,抢占CPU较强;id空闲进程消耗CPU的时间占比;wa等待进程消耗CPU的时间占比;hi硬中断进程消耗CPU时间占比;si软中断进程消耗CPU时间占比;st强制交换

2.Mem内存:total总的内存大小,used已经使用的内存,free空闲的内存,buffers高速缓存(磁盘到内存)

Swap:虚拟内存,total,used,free,cached高速缓冲(内存到磁盘)

对于Java项目来说没有内存使用率一说,因为Java项目内存是通过GC垃圾回收机制来获得内存,在配置JVM时候就已经把最大内存和醉小内存写死了,他是一个固定值

如果top命令中%MEM的使用率超过80%,说明机器内存不够,需要加内存

VIRT:物理内存和虚拟内存之和,

RES:纯物理内存

SHR:共享内存

vmstat命令

717ee39a135a49bd7396ab9ecfee956a.png

cpu列:cs为进程总数,us,sy,id,wa,st对应上一条所述

procs列:①进程是程序运行最小单位,②进程有多个线程组成,进程是线程的最小单位,③多线程优势是支持大并发,有点是节约资源,④进程比线程安全,⑤r表示正在消耗cup的进程,和负载中第一个同理

vmstat  间隔时间s  打印次数[(vmstat  2 5)  表示每个两秒打印一次,共打印三次]

例:如果发现CPU使用过高,分析步骤①判断是用户CPU高还是系统CPU高,

②如果是用户us使用进程消耗CPU较高,找到对应进程,在找到该进程下那个线程消耗CPU较高,再跟踪该线程消耗的线程栈调用的方法,则是该方法导致CPU过高

top下①shift+p表示将所有进程按照消耗CPU占比从大到小排序.②shift+m将所有进程按照消耗内存从大到小排序

查找使用CPU最高线程方法一,命令:top -H -p 进程id;会显示出该进程下全部的线程,(进程id就是top命令下的PID)

查找使用CPU最高线程方法二.命令:top -p 进程id;会显示出该进程,然后在交互命令去输入H,该进程小的线程会逐一显示出来,然后任然可以使用shift+p,和shift+m,对进程按照CPU的使用占比大小,内存使用占比大小从大到小排序

例:如果是系统(sy)使用CPU消耗占比较高,分析方法如下

①说明内核消耗CPU消耗较高,查看ni(优先级),st(),hi(硬中断),si(软中断),如果中断消耗CPU较高说明进程切换较高,则可减少进程,如果st强制交换消耗CPU较高,说明内存可能不足,则需要加内存

②如果①中几点CPU占用都不高,则优先查看磁盘是否繁忙,(在内存和磁盘之间来回切换)

iostat命令:

5496de529453c7c58d3170e1d5bb6ab9.png

①一般使用命令:iostat -x查看io和CPU(如上图中avg-cpu,和top命令下CPU使用情况的缩写一致)

②Device:设备

sda # 磁盘总量,dm-0设备一和dm-1设备二

rrqm/s:每秒读磁盘扇区的速度

wrqm/s:每秒写磁盘扇区的速度

r/s:

avgrq_sz:单次操作磁盘的平均时间(磁盘io,单次读写)

avgqu_sz:磁盘等待队列的大小

await:总的等待磁盘时间,如果该值较大,说明磁盘等待时间较大

r_await:读等待磁盘的时间

w_await:写等待磁盘的时间

svctm:serivce+time的缩写,服务时间,磁盘真正处理的时间,单次磁盘服务时间应该在5以下(机械硬盘)

util:空闲的

③和命令sar -d效果类似

2a5cb2ad99c2021bad935fe380532502.png

例:如果是系统进程(sy)占用CPU过高,

①可通过iostat -x,sar -d,nmon来查看磁盘是否繁忙,其中nmon直接查看besy,如果高于20%则磁盘繁忙

②如果通过排查,①中都正常则通过strace命令(strace -c -f -p 进程id)

strace命令:是跟踪系统内核调用的命令

fbe826aed35df562739d4a60bce63ff6.png

usecs/cass:主动调用内核次数

calls:被动调用内核次数

syscall:被动用的内核

vmstat命令:

a03800f20d5c69cfb17a4c3b2ab8bb92.png

1.常用命令格式vmstat

procs列:

r 表示运行和等待的CPU时间片的进程数,这个值如果长期大于系统CPU个数9(核数),说明CPU不足,需要增加CPU

b 表示在等待资源的进程数,比如正在等待IO或者内存交换的等待

memory列

swpd 表示切换到内存交换区的内存大小,大小kb,通俗讲就是虚拟内存的大小,如果swap值不为0或者比较大,只要si,so的之长期为0,这种情况一般属于正常情况

free 表示当前空闲的物理内存(kb)

buff 表示缓冲大小(baffers cached),一般对块设备的读写叫做缓冲

cache 表示缓存的大小(page cached),一般是文件系统进行缓存,频繁访问的文件都会别缓存,如果cache的值非常大,说明文件比较多,如果此时Io和bi的值比较小,说明文件系统效率较好

命令lsof-d pid 查看进程打开的文件句柄数,

a651c43753a9e1e4addcb2f188b85c3d.png

命令ulimit -i 查看系统默认打开文件数

4be86e136c830df382e6f7561d72a373.png

命令ulimit -n 整数  修改默认打开文件数(ulimit -n 2048)

4eff8dea4be086cfb07cd132157cf721.png

NMON命令

执行命令(./nmon_x86_rhel52 -fT -s 2 -c 30)(每隔2秒采集一次数据,共采集30次)会在nmon的根目录生成一个以.nmon结尾的文件,将该文件下载到本地使用nmon自带的分析工具(nmon analyser v33g.xls,网上下载)打开

监控数据会以图表形式分析出来,直观准确,其中包括CPU,磁盘,内存,等等的数据

dcdf2c7c4f37013acb6b87fd0c79db85.png

命令free -m(查看剩余内存)

0c5e0fdac395da1a51d21f26ffee0401.png

Linux系统资源监控--linux命令、nmon和spotlight

前言: 系统资源监控一般监控系统的CPU,内存,磁盘和网络.系统分为windows和Linux.本篇主要记录Linux. Linux系统资源监控常用命令及工具 一.常用命令:top.free.iost ...

Linux系统资源监控命令

转自http://www.51testing.com/html/16/271416-149128.html 衡量CPU性能的指标: 1,用户使用CPU的情况:CPU运行常规用户进程CPU运行niced ...

Loadrunner监控Linux系统资源

一.安装rsh和rpcbind 1.查看是否安装:rpm -qa |grep rsh 2.安装rsh:yum -y install rsh* 3.yum  -y install nfs-utils r ...

LoadRunner如何监控Linux系统资源

LoadRunner如何监控Linux系统资源 一 简述:LoadRunner监控Linux资源时弹出如下错误: Monitor name :UNIX Resources. Cannot initia ...

Linux中监控命令top命令使用方法详解

收集了两篇关于介绍Linux中监控命令top命令的详细使用方法的文章.总的来说,top命令主要用来查看Linux系统的各个进程和系统资源占用情况,在监控Linux系统性能方面top显得非常有用,下面就 ...

[转载]你需要知道的 16 个 Linux 服务器监控命令

转载自: 你需要知道的 16 个 Linux 服务器监控命令 如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个 专业的 Linux 系统管理员. 有些 ...

系统资源监控--windows

前言: 系统资源监控一般监控系统的CPU,内存,磁盘和网络.系统分为windows和Linux.本篇主要记录windows. Windows的监控相对与Linux监控工具来说比较简单,更多的是查看wi ...

Linux系统资源查看

以下Linux系统资源查看命令中,较常用的为vmstat 与 lsof vmstat [刷新延时 刷新次数] ucm@ucm-Aspire-TC-:~$ vmstat procs ---------- ...

linux上监控tomcat down掉后自动重启tomcat

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ...

随机推荐

RCA:未注意Curl-library Post 1024以上字节时的HTTP/1.1特性导致 HessianPHP 传输数据失败

先列出 HessianPHP 的错误提示: CURL transport error: transfer closed with outstanding read data remaining 基础知 ...

【转】【C#】【Thread】【Task】多线程

多线程 多线程在4.0中被简化了很多,仅仅只需要用到System.Threading.Tasks.::.Task类,下面就来详细介绍下Task类的使用. 一.简单使用 开启一个线程,执行循环方法,返回 ...

锋利的jQuery-2--判断jQuery获取到的对象是否存在$().length

1.使用js获取不存在的对象: document.getElementById("tt").style.color = "red"; 如果网页中不存在id = ...

include指令

include:文件加载指令(用于在JSP文件中插入一个包含文本或代码的文件.把文件插入后和原来的JSP文件合并成一个新的JSP页面.) 语法格式:

JS对象类型的确定

JS是松散类型的语言,这一点JS的对象表现得尤为突出.那么如何来确定JS对象的具体类型呢? 首先,我们可以使用typeof运算符确定其基本类型(number,object,function,undef ...

视频处理简单实例 [OpenCV 笔记2]

VideoCapture是OpenCV 2.X中新增的类,提供从摄像机或视频文件捕获视频的C++接口.利用它读入视频的方法一般有两种: // method 1 VideoCapture capture ...

html表格标签与属性

标记:  标 记  说 明

单元格标记  表头标记

js 函数声明和函数表达式

在ECMAScript中,创建函数的最常用的两个方法是函数表达式和函数声明,因为ECMA规范只明确了一点:函数声明必须带有标示符(Identifier)(就是大家常说的函数名称),而函数表达式则可以省 ...

python基础一 ------如何统计一个列表元素的频度

如何统计一个列表元素的频度 两个需求: 1,统计一个随机序列[1,2,3,4,5,6...]中的出现次数前三的元素及其次数 2,统计一片英文文章中出现次数前10 的单词 两种方法: 1,普通的for循 ...

Tensorflow[源码安装时bazel行为解析]

0. 引言 通过源码方式安装,并进行一定程度的解读,有助于理解tensorflow源码,本文主要基于tensorflow v1.8源码,并借鉴于如何阅读TensorFlow源码. 首先,自然是需要去b ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值