关于Linux 内存监控


Linux 内存监控是Linux内核所管理的最重要的资源之一。内存管理系统是操作系统中最为重要的部分,因为系统的物理内存总是少于系统所需要的内存数量。虚拟内存就是为了克服这个矛盾而采用的策略。系统的虚拟内存通过在各个进程之间共享内存而使系统看起来有多于实际内存的内存容量。

(1)Linux 内存监控实时监控内存使用情况

在命令行使用“Free”命令能够监控内存使用情况  

  1. #free  
  2. total  used  freeshared    bufferscached  
  3. Mem:256024192284 63740  0 10676101004  
  4. -/+ buffers/cache: 80604175420  
  5. Swap:  522072  0522072  

上面给出了一个256兆的RAM和512兆交换空间的系统情况。第三行输出(Mem:)显示物理内存。total列不显示核心使用的物理内存(通常大约1MB)。used列显示被使用的内存总额(第二行不计缓冲)。 free列显示全部没使用的内存。Shared列显示多个进程共享的内存总额。Buffers列显示磁盘缓存的当前大小。第五行(Swap:)对对换空间,显示的信息类似上面。假如这行为全0,那么没使用对换空间。在缺省的状态下,free命令以千字节(也就是1024字节为单位)来显示内存使用情况。能够使用?h参数以字节为单位显示内存使用情况,或能够使用?m参数以兆字节为单位显示内存使用情况。还能够通过?s参数使用命令来不间断地监控内存使用情况:

#free ?b ?s2

这个命令将会在终端窗口中连续不断地报告内存的使用情况,每2秒钟更新一次。

(2)Linux 内存监控组合watch? free命令用来实时监控内存使用情况:

  1. #watch -n 2 -d free  
  2. Every 2.0s: freeFri Jul 6 06:06:12 2007  
  3. total  used  freeshared    bufferscached  
  4. Mem:233356218616 14740  0  5560 64784  
  5. -/+ buffers/cache:148272 85084  
  6. Swap:  622584  6656615928  

watch命令会每两秒执行 free一次,执行前会清除屏幕,在同样位置显示数据。因为 watch命令不会卷动屏幕,所以适合出长时间的监测内存使用率。能够使用 -n选项,控制执行的频率;也能够利用 -d选项,让命令将每次不同的地方显示出来。Watch命令会一直执行,直到您按下 [Ctrl]-[C] 为止。

相关内容