vmstat

Linux实战监控分析

泄露秘密 提交于 2020-01-02 04:56:52
实时查看tomcat并发连接数 netstat -na | grep ESTAB | grep 8080 | wc -l 实时查看apache并发连接数 netstat -na | grep ESTAB | grep 80 | wc -l 查看物理cpu的个数命令: cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l 查看核数命令:每个物理cpu中core的个数(即核数) cat /proc/cpuinfo | grep "cpu cores" | uniq 每个物理cpu中逻辑cpu的个数(以下两条命令都可以) cat /proc/cpuinfo | grep "processor" | wc -l cat /proc/cpuinfo | grep "siblings" | uniq(以上命令""或''都可以) windows上看cpu多核命令是systeminfo, 安装sar命令是yum -y install sysstat 监控概述: cpu 在虚机里输入top命令,紧接着输入1,看到变成cpu0了,如图 ,只虚出一个核对于多核cpu来说,cpu0是相当关键的,cpu0相当于cpu中的leader,因为cpu各核间的调度都通过cpu0完成,如果cpu0的负载高,调度cpu就比较困难,就会影响其他核的性能

Linux服务器性能查看分析调优

℡╲_俬逩灬. 提交于 2019-12-31 01:27:27
一 linux服务器性能查看 1.1 cpu性能查看 1、查看物理cpu个数: cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l 2、查看每个物理cpu中的core个数: cat /proc/cpuinfo |grep "cpu cores"|wc -l 3、逻辑cpu的个数: cat /proc/cpuinfo |grep "processor"|wc -l 物理cpu个数*核数=逻辑cpu个数(不支持超线程技术的情况下) 1.2 内存查看 1、查看内存使用情况: #free -m total used free shared buffers cached Mem: 3949 2519 1430 0 189 1619 -/+ buffers/cache: 710 3239 Swap: 3576 0 3576 total:内存总数 used:已经使用的内存数 free:空闲内存数 shared:多个进程共享的内存总额 - buffers/cache:(已用)的内存数,即used-buffers-cached + buffers/cache:(可用)的内存数,即free+buffers+cached Buffer Cache用于针对磁盘块的读写; Page Cache用于针对文件inode的读写,这些Cache能有效地缩短I

Linux vmstat命令

时光怂恿深爱的人放手 提交于 2019-12-28 00:32:45
简介 vmstat命令用来显示Linux系统虚拟内存状态,也可以报告关于进程、内存、I/O等系统整体运行状态。 安装 yum install -y sysstat 字段解释 vmstat命令输出的第一行是自从系统重新启动以来所有指标的平均值。 procs procs代表进程相关参数 字段名 意义 说明 r 等待运行的进程数 如果该值长期大于CPU数,就表示需要添加CPU b “被阻塞”的进程 最最有可能等待 I/O,但也可能等待其他事情,如果该值比较大并且io下的数据比较大 ,则可能出现了严重的 I/O 争用问题 memory memory表示内存相关参数 字段名 意义 说明 swpd 正在使用虚拟或或交换内存的大小,单位K swpd的值不为0,但是si、so的值长期为0,是不会影响系统性能的。 free 剩余的物理内存大小 free的值很小,但是si、so的值长期接近为0,是不会影响系统性能的,因为linux系统会先使用内存 buff 缓冲区的内存大小 cache 缓存的内存大小 该值越大说明缓存的文件越多,如果频繁访问的文件被缓存,那么IO的bi会比较小 swap swap表示交换区相关参数 字段名 意义 si 交换区写入内存的速率(以 KB/秒为单位) so 内存写到交换区的速率(以 KB/秒为单位) si、so的值长期大于0时,系统性能会受到影响

vmstat命令

情到浓时终转凉″ 提交于 2019-12-24 11:52:00
如果vmstat和iostat命令不能再你的电脑上运行,请安装 sysstat 包。因为vmstat和iostat命令是集成在SYSSTAT(系统监视工具)包里面。 Usage: vmstat [options] [delay [count]] Options: -a, --active active/inactive memory -f, --forks number of forks since boot -m, --slabs slabinfo -n, --one-header do not redisplay header -s, --stats event counter statistics -d, --disk disk statistics -D, --disk-sum summarize disk statistics -p, --partition <dev> partition specific statistics -S, --unit <char> define display unit -h, --help display this help and exit -V, --version output version information and exit -a:显示活跃和非活跃内存 -f:显示从系统启动至今的fork数量 。 -m

【讲清楚,说明白!】资源管理三板斧之--htop、vmstat、dstat

只愿长相守 提交于 2019-12-21 23:19:01
目录: (一)htop命令 (二)vmstat命令 (三)pmap命令 (四)glances命令 (五)dstat命令 (一)htop命令 (1.1)EPEL(Extra Packages for Enterprise Linux)是由Fedora社区打造,为RHEL及衍生发行版如CentOS等提供高质量软件包的项目。装上了EPEL,就像在Fedora上一样,可以通过yum install的方式安装,即可安装很多以前需要编译安装的软件、常用的软件或一些比较流行的软件,比如现在流行的nginx、htop、ncdu、vnstat等等,都可以使用EPEL很方便的安装更新。 (1.2)在管理进程时通常要借助一些工具,比较常用的就是ps和top了,不过CentOS还为我们提供了一个更加强大的工具htop,htop是一个Linux下的交互式的进程浏览器,可以用来替换Linux下的top命令。我们使用CentOS 7系统,并通过aliyun下载epel源,按照如下的操作方式进行。 # cd /etc/yum.repos.d/---进入到/etc/yum.repos.d/目录 # mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup---将CentOS-Base.repo重命名为CentOS

Linux 内存监控

耗尽温柔 提交于 2019-12-09 15:40:59
Linux 内存监控 1、按照内存使用方式排序   top 之后使用 shift + m 那么top按照内存使用从大到小进行排列,使用 shift + P 表示按照CPU进行排序。 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 29498 bigfish 20 0 1118m 438m 30m S 1 11.3 81:59.96 eclipse 27772 bigfish 20 0 1706m 216m 61m S 3 5.6 79:18.04 QQ.exe 29369 bigfish 20 0 610m 138m 44m S 1 3.6 25:19.26 maxthon PR :进程优先级 NI :进程当前nice调整值 VIRT : 进程使用的虚拟内存数 RES : 进程使用的物理内存 SHR : 允许与其他进程共享的内存数(比如一些动态库) TIME+ : CPU时间 2、top查看指定进程   top -p pid -d 1 使用-p选项指定pid,使用-d表示刷新间隔 3、pamp查看指定进程   pmap会将进程中使用到的每个动态库等内存依次显示,最有有一个total表示使用的虚拟内存总数。   看不到物理内存使用数。   pmap 7385 |grep total total 1228664K 4

linux命令--vmstat命令&iostat命令

柔情痞子 提交于 2019-12-07 12:04:58
vmstat是virtual memory statistics的缩写,可以对操作系统的虚拟内存,进程和CPU进行监控 物理内存就是系统硬件提供的内存大小,是真正的内存,相对于物理内存,在linux下还有一个虚拟内存的概念,虚拟内存就是为了满足物理内存的不足而提出的策略,它是利用磁盘空间虚拟出的一块逻辑内存,用作虚拟内存的磁盘空间被称为交换空间(Swap Space)。 例子1 vmstat 5 6 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 3029876 199616 690980 0 0 0 2 3 2 0 0 100 0 0 0 0 0 3029752 199616 690980 0 0 0 41 1009 39 0 0 100 0 0 0 0 0 3029752 199616 690980 0 0 0 3 1004 36 0 0 100 0 0 0 0 0 3029752 199616 690980 0 0 0 4 1004 36 0 0 100 0 0 0 0 0 3029752 199616 690980 0 0 0 6

linux vmstat命令

时光毁灭记忆、已成空白 提交于 2019-12-04 08:45:08
mstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。 物理内存和虚拟内存区别 我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念。 物理内存就是系统硬件提供的内存大小,是真正的内存,相对于物理内存,在linux下还有一个虚拟内存的概念,虚拟内存就是为了满足物理内存的不足而提出的策略,它是利用磁盘空间虚拟出的一块逻辑内存,用作虚拟内存的磁盘空间被称为交换空间( Swap Space )。 作为物理内存的扩展,linux会在物理内存不足时,使用交换分区的虚拟内存,更详细的说,就是内核会将暂时不用的内存块信息写到交换空间,这样以来,物理内存得到了释放,这块内存就可以用于其它目的,当需要用到原始的内容时,这些信息会被重新从交换空间读入物理内存。 linux的内存管理采取的是分页存取机制,为了保证物理内存能得到充分的利用,内核会在适当的时候将物理内存中不经常使用的数据块自动交换到虚拟内存中,而将经常使用的信息保留到物理内存。 要深入了解linux内存运行机制,需要知道下面提到的几个方面: 首先,Linux系统会不时的进行页面交换操作

linux 系统监控、诊断工具之 IO wait

点点圈 提交于 2019-12-03 07:27:37
1、问题: 最近在做日志的实时同步,上线之前是做过单份线上日志压力测试的,消息队列和客户端、本机都没问题,但是没想到上了第二份日志之后,问题来了: 集群中的某台机器 top 看到负载巨高,集群中的机器硬件配置一样,部署的软件都一样,却单单这一台负载有问题,初步猜测可能硬件有问题了。 同时,我们还需要把负载有异常的罪魁祸首揪出来,到时候从软件、硬件层面分别寻找解决方案。 2、排查: 从 top 中可以看到 load average 偏高,%wa 很高,%us 偏低: 从上图我们大致可以推断 IO 遇到了瓶颈,下面我们可以再用相关的 IO 诊断工具,具体的验证排查下。 PS:如果你对 top 的用法不了解,请参考我去年写的一篇博文: linux 系统监控、诊断工具之 top 详解 常用组合方式有如下几种: 用vmstat、sar、iostat检测是否是CPU瓶颈 用free、vmstat检测是否是内存瓶颈 用iostat、dmesg 检测是否是磁盘I/O瓶颈 用netstat检测是否是网络带宽瓶颈 2.1 vmstat vmstat命令的含义为显示虚拟内存状态(“Viryual Memor Statics”),但是它可以报告关于进程、内存、I/O等系统整体运行状态。 它的相关字段说明如下: Procs(进程) • r: 运行队列中进程数量,这个值也可以判断是否需要增加CPU。

Linux vmstat命令实战详解

匿名 (未验证) 提交于 2019-12-02 21:56:30
2019独角兽企业重金招聘Python工程师标准>>> vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。 一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,如: 2表示每个两秒采集一次服务器状态,1表示只采集一次。 实际上,在应用过程中,我们会在一段时间内一直监控,不想监控直接结束vmstat就行了,例如: 这表示vmstat每2秒采集数据,一直采集,直到我结束程序,这里采集了5次数据我就结束了程序。 好了,命令介绍完毕,现在开始实战讲解每个参数的意思。 r 表示运行队列(就是说多少个进程真的分配到CPU),我测试的服务器目前CPU比较空闲,没什么程序在跑,当这个值超过了CPU数目,就会出现CPU瓶颈了。这个也和top的负载有关系,一般负载超过了3就比较高,超过了5就高,超过了10就不正常了,服务器的状态很危险。top的负载类似每秒的运行队列。如果运行队列过大,表示你的CPU很繁忙