linux 系统监控
虚拟内存统计:vmstat
通俗的说说虚拟内存:
现在的操作系统是多道批处理的,也就是内存中同时存在好多任务的,那么这就出现了一个问题,内存够用吗?肯定不够用,根据局部性原理,只将程序的部分 装入内存就可以了,运行到需要的代码是再去磁盘去替换到内存,这就是虚拟内存。大概说一下过程吧,操作系统要执行一个指令,会根据这个指令的地址在一个表 中看一下这个指令在不在内存,如果在内存就计算出真正的内存地址,如果不在内存就在表中获取此指令所在的外存块并且把这一块指令搬到内存(发生中断),然 后就可以开心地执行程序了。
先来个命令截图
分块来介绍
procs
r:运行队列中的进程数量(不知道为啥在这里加个这)
b:等待io的进程数量
memory:
swpd:使用虚拟内存大小,如果大于0表示内存不够了,此时要看下有没有内存泄漏或者看看要不要升级内存了
free:空闲物理内存大小
buff:用作缓冲区的内存大小
cache:用作缓存的内存大小
Swap:
si:每秒从交换区写到内存的大小,由磁盘调入内存
so:每秒写入交换区的内存大小,有内存调如磁盘
如果这两个值大于1,说明内存不够用了
IO:
bi:每秒读取的块数量
bo:每秒写入的块数
这两个值越大,那么等等io的值也会越大
System:
in:每秒中断的次数,包括时钟中断
cs:每秒上下文切换数量
这两个值表示内核消耗cpu的时间
CPU:
us:用户空间
sy:内核空间
id:空闲
wa:IO等待