vmstat命令
vmstat 命令
用途:vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监视。它是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。
参数: -V prints version. -n causes the headers not to be reprinted regularly. -a print inactive/active page stats. -d prints disk statistics -D prints disk table -p prints disk partition statistics -s prints vm table -m prints slabinfo -t add timestamp to output -S unit size
procs r:等待运行的进程数。如果等待运行的进程数越多,意味着CPU非常繁忙。另外,如果该参数长期大于和等于逻辑cpu个数,则CPU资源可能存在较大的瓶颈。 b:处在非中断睡眠状态的进程数。意味着进程被阻塞。主要是指被资源阻塞的进程对列数(比如IO资源、页面调度等),当这个值较大时,需要根据应用程序来进行分析,比如数据库产品,中间件应用等。
memory swpd:虚拟内存使用情况,单位:KB,如果大于0,表示你的机器物理内存不足了 free :空闲的物理内存大小,单位:KB buff:被用来作为缓存的内存数,单位:KB cache:把空闲的物理内存的一部分拿来做文件和目录的缓存,是为了提高程序执行的性能 inact: inactive memory的总量 active: active memroy的总量
swap si:每秒从磁盘读入虚拟内存的大小 so:每秒虚拟内存写入磁盘的大小
内存够用的时候,这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响,磁盘IO和CPU资源都会被消耗。
当看到空闲内存(free)很少的或接近于0时,就认为内存不够用了,这个是不正确的。不能光看这一点,还要结合si和so,
如果free很少,但是si和so也很少(大多时候是0),那么不用担心,系统性能这时不会受到影响的。
当内存的需求大于RAM的数量,服务器启动了虚拟内存机制,通过虚拟内存,可以将RAM段移到SWAP DISK的特殊磁盘段上,
这样会 出现虚拟内存的页导出和页导入现象,页导出并不能说明RAM瓶颈,虚拟内存系统经常会对内存段进行页导出,
但页导入操作就表明了服务器需要更多的内存了, 页导入需要从SWAP DISK上将内存段复制回RAM,导致服务器速度变慢。
IO bi: 每秒读取的块数(读磁盘)默认块大小是1024byte bo: 每秒写入的块数(写磁盘)单位:块/秒
System in: 每秒的中断数,包括时钟中断 cs: 每秒的环境(上下文)切换次数
CPU 按 CPU 的总使用百分比来显示 us: CPU 使用时间 sy: CPU 系统使用时间 id: 闲置时间 wa: 等待IO的CPU时间
每天记录一点,就能多学一点,充实一点