vmstat

解读vmstat中的ACTIVE/INACTIVE MEMORY

半城伤御伤魂 提交于 2020-05-01 17:46:42
vmstat 命令能够报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息,那么我们又该如何理解其工作原理呢? vmstat -a 命令能看到 active memory 和 inactive memory : $ vmstat -a procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free inact active si so bi bo in cs us sy id wa st 1 0 138096 319560 1372408 1757848 0 0 2 3 2 3 1 0 99 0 0 但它们的含义在 manpage 中只给了简单的说明,并未详细解释: inact: the amount of inactive memory. (-a option) active: the amount of active memory. (-a option) 在此我们试图准确理解它的含义。通过阅读vmstat的源代码(vmstat.c和proc/sysinfo.c)得知,vmstat命令是直接从 /proc/meminfo 中获取的数据: $ grep -i act /proc/meminfo Active: 1767928 kB

性能排查 -- vmstat 使用

吃可爱长大的小学妹 提交于 2020-03-02 15:24:08
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。 一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,如: root@ubuntu:~# vmstat 2 1 procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 1 0 0 3498472 315836 3819540 0 0 0 1 2 0 0 0 100 0 2表示每个两秒采集一次服务器状态,1表示只采集一次。 实际上,在应用过程中,我们会在一段时间内一直监控,不想监控直接结束vmstat就行了,例如: root@ubuntu:~# vmstat 2 procs -----------memory---------- --

vmstat,iostat,sar命令详解

折月煮酒 提交于 2020-02-27 13:38:46
Procs   r: 等待运行的进程数 b: 处在非中断睡眠状态的进程数 w: 被交换出去的可运行的进程数。此数由 linux 计算得出,但 linux 并不耗尽交换空间   Memory   swpd: 虚拟内存使用情况,单位:KB   free: 空闲的内存,单位KB   buff: 被用来做为缓存的内存数,单位:KB   Swap   si: 从磁盘交换到内存的交换页数量,单位:KB/秒   so: 从内存交换到磁盘的交换页数量,单位:KB/秒   IO   bi: 发送到块设备的块数,单位:块/秒   bo: 从块设备接收到的块数,单位:块/秒   System   in: 每秒的中断数,包括时钟中断   cs: 每秒的环境(上下文)切换次数   CPU   按 CPU 的总使用百分比来显示   us: CPU 使用时间   sy: CPU 系统使用时间   id: 闲置时间   准测   r<5,b≈0,   如果fre<minfree,将会出现连续不断的页面调度,将导致系统性能问题。   对于page列,re,pi,po,cy维持于比较稳定的状态,PI率不超过5,如果有pagin发生,那么关联页面必须先进行pageout在内存相对紧张的环境下pagein会强制对不同的页面进行steal操作。如果系统正在读一个大批的永久页面,你也许可以看到po和pi列会出现不一致的增长

读懂vmstat

穿精又带淫゛_ 提交于 2020-02-27 13:35:40
[root@localhost ~]# vmstat -n 3 (每个3秒刷新一次) procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 1 0 144 186164 105252 2386848 0 0 18 166 83 2 48 21 31 0 2 0 144 189620 105252 2386848 0 0 0 177 1039 1210 34 10 56 0 0 0 144 214324 105252 2386848 0 0 0 10 1071 670 32 5 63 0 0 0 144 202212 105252 2386848 0 0 0 189 1035 558 20 3 77 0 2 0 144 158772 105252 2386848 0 0 0 203 1065 2832 70 14 15 0 vmstat所带参数请用man vmstat查看 Procs r: 等待运行的进程数 b: 处在非中断睡眠状态的进程数 w: 被交换出去的可运行的进程数。此数由 linux 计算得出,但 linux 并不耗尽交换空间 Memory swpd:

vmstat命令详解

孤街醉人 提交于 2020-02-27 13:35:10
[root@localhost ~]# vmstat -n 3 (每个3秒刷新一次) procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 1 0 144 186164 105252 2386848 0 0 18 166 83 2 48 21 31 0 2 0 144 189620 105252 2386848 0 0 0 177 1039 1210 34 10 56 0 0 0 144 214324 105252 2386848 0 0 0 10 1071 670 32 5 63 0 0 0 144 202212 105252 2386848 0 0 0 189 1035 558 20 3 77 0 2 0 144 158772 105252 2386848 0 0 0 203 1065 2832 70 14 15 0 vmstat所带参数请用man vmstat查看 Procs r: 等待运行的进程数 b: 处在非中断睡眠状态的进程数 w: 被交换出去的可运行的进程数。此数由 linux 计算得出,但 linux 并不耗尽交换空间 Memory swpd:

Linux服务器优化

风格不统一 提交于 2020-02-19 16:33:25
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/O系统调用的时间

Linux 命令——vmstat

旧城冷巷雨未停 提交于 2020-02-08 16:21:47
vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。 语法 vmstat [ -a ] [ -f ] [ -s ] [ -p ] [ -d ] [ PhysicalVolume … ] [ Interval [ Count ] ] -a: 显示活跃和非活跃内存,所显示的内容除增加inact和active -f: 显示显示从系统启动至今的fork数量,Linux 新建进程用fork -s: 查看内存使用的详细信息 -d: 查看磁盘的读/写 -p: 显示指定磁盘分区统计信息 PhysicalVolume 参数指定物理卷的名称。 vmstat [root@iZwz9hmb50uzud432t180uZ ~]# vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 3 0 0 148624 0 191716 0 0 2 4 19 4 1 2 97 0 0 procs 代表进程 r: 运行队列中进程数量 b: 等待IO的进程数量 memory 代表内存 swpd:

linux服务器性能查看

谁说胖子不能爱 提交于 2020-01-29 09:00:45
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 cachedMem: 3949 2519 1430 0 189 1619-/+ buffers/cache: 710 3239Swap: 3576 0 3576total:内存总数 used:已经使用的内存数 free:空闲内存数 shared:多个进程共享的内存总额 - buffers/cache:(已用)的内存数,即used-buffers-cached + buffers/cache:(可用)的内存数,即free+buffers+cached Buffer Cache用于针对磁盘块的读写; Page Cache用于针对文件inode的读写,这些Cache能有效地缩短I/O系统调用的时间。

linux --监控系统性能 vmstat

微笑、不失礼 提交于 2020-01-21 03:45:39
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。 一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,如: root@ubuntu:~# vmstat 2 1 procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 1 0 0 3498472 315836 3819540 0 0 0 1 2 0 0 0 100 0 2表示每个两秒采集一次服务器状态,1表示只采集一次。 实际上,在应用过程中,我们会在一段时间内一直监控,不想监控直接结束vmstat就行了,例如: root@ubuntu:~# vmstat 2 procs -----------memory---------- --

linux性能监控工具

匆匆过客 提交于 2020-01-21 03:37:47
工具 简单介绍 top 查看进程活动状态以及一些系统状况 vmstat 查看系统状态、硬件和系统信息等 iostat 查看CPU 负载,硬盘状况 sar 综合工具,查看系统状况 mpstat 查看多处理器状况 netstat 查看网络状况 iptraf 实时网络状况监测 tcpdump 抓取网络数据包,详细分析 mpstat 查看多处理器状况 tcptrace 数据包分析工具 netperf 网络带宽工具 dstat 综合工具,综合了 vmstat, iostat, netstat 等多个信息 通常我们期望CPU能到达以下目标: (1)CPU利用率,如果CPU有100%利用率,那么应该到达这样一个平衡:65%-70%User Time,30%-35%System Time,0%-5%Idle Time; (2)上下文切换,上下文切换应该和CPU利用率联系起来看,如果能保持上面的CPU利用率平衡,大量的上下文切换是可以接受的; (3)可运行队列,每个可运行队列不应该有超过1-3个线程(每处理器),比如:双处理器系统的可运行队列里不应该超过6个线程。 Linux vmstat命令实战详解 vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux