linux监控内存

1. free -m   以M为单位查看内存

2、查看截取剩余内存free的数值命令:
(1) 物理内存free值:# free -m | grep Mem | awk '{print $4}'
(2) 缓冲区的free值:# free -m | grep - | awk '{print $4}'
(3) Swap分区free值:# free -m | grep Swap | awk '{print $4}'

3. 监控内存脚本

#!/bin/bash  
#使用free命令监控linux系统内存变化  
 #取系统当前时间(以追加的方式写入文件>>)  
date >> /scripts/date-time.txt      
#抓取物理内存free值(以追加的方式写入文件>>)  
 echo Mem-free: `free -m | grep Mem | awk '{print $4}'`M >> /scripts/mem-free.txt    
#抓取缓冲区的free值(以追加的方式写入文件>>) 
 echo buffers/cache-free: `free -m | grep - | awk '{print $4}'`M  >> /scripts/buffers-free.txt   
#抓取Swap分区free值(以追加的方式写入文件>>)  
echo Swap-free: `free -m | grep Swap | awk '{print $4}'`M  >> /scripts/swap-free.txt   
#逐行连接上面的时间和内存相关行数据(每次重新写入文件>)  
paste  /scripts/date-time.txt /scripts/mem-free.txt  /scripts/buffers-free.txt   /scripts/swap-free.txt   > /scripts/freemem.txt   

# chmod a+x /scripts/free-mem.sh


pmap

  可以根据进程查看进程相关信息占用的内存情况,(进程号可以通过ps查看)如下所示:
  $ pmap -d 14596

ps

  如下例所示:
  $ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid'  其中rsz是是实际内存
  $ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep java|  sort -nrk5
  其中rsz为实际内存,上例实现按内存排序,由大到小

你可能感兴趣的:(linux监控内存)