1. 基本概念

Virtual Memory:虚拟内存就是采用硬盘对物理内存进行扩展

kswapd:kswapd进程负责确保内存空间总是在被释放中.

pdflush:负责将内存中的内容和文件系统进行同步操作.即写操作返回的时候数据并没有真正写到磁盘上,而是先写到了系统cache里,随后由pdflush内核线程将系统中的脏页写到磁盘上

2. MEM监测

•查看内存信息:cat /proc/meminfo

 

• 显示当前的内存使用情况:free

 

  第一行 Men:
         total:表示物理内存总量,total = used + free
         used:表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用
         free:未被分配的内存
         shared:共享内存,一般系统不会用到
         buffers:系统分配但未被使用的buffers数量
         cached:系统分配但未被使用的cache数量
  第二行 -/+ buffers/cache :
         used:也就是第一行中的used - buffers - cached ,也是实际使用的内存总量
         free:也就是第一行中的free + buffers + cached,这就是系统当前实际可用内存
  第三行 Swap:指交换分区
• ps命令
  进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的.
  ps aux
  显示其他用户启动的进程(a)
  查看系统中属于自己的进程(x)
  启动这个进程的用户和它启动的时间(u)
  
  USER: USER域指明了是哪个用户启动了这个命令;
  CPU: 用户可以查看某个进程占用了多少CPU;
  MEM: 内存使用及其VSZ(虚拟内存大小)和RSS(常驻集大小):
  VSZ: 表示如果一个程序完全驻留在内存的话需要占用多少内存空间;
  RSS: 指明了当前实际占用了多少内存;
  STAT: 显示了进程当前的状态,参数意义如下:
            D 不可中断 Uninterruptible(usually IO)
            R 正在运行,或在队列中的进程
            S 处于休眠状态
            T 停止或被追踪
            Z 僵尸进程
            W 进入内存交换(从内核2.6开始无效)
            X   死掉的进程
            < 高优先级
            n   低优先级
            s   包含子进程
            +   位于后台的进程组
• sar--r :内存和交换分区使用率
  
• vmstat
  可以展现给定时间间隔的服务器的状态值。 一般VMSTAT工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数
  
  r:运行队列