首页 运维 网络学院 查看内容

Linux系统检测工具一(Free,Top,ps,Vmstat,Sysstat)

2011-10-19 22:02 575 0

摘要:   通过检测系统,可以获取一些基准数据,进行分析,根据不同的业务特点系统不同组件的压力,可以有cpu密集型,内存密集型,网络吞吐密集性型,io密集型  一 系统检测工具  Free,Top,ps,Vm...
关键词: buffers Free cached root 1020116 缓存 内存 used shared total

  通过检测系统,可以获取一些基准数据,进行分析,根据不同的业务特点系统不同组件的压力,可以有cpu密集型,内存密集型,网络吞吐密集性型,io密集型  一 系统检测工具  Free,Top,ps,Vmstat,Sysstat  二 Free工具的使用:用来查看linux系统中内存和缓存的状态  [root@hky-linux1 ~]# free  total used free shared buffers cached  Mem: 275756 208948 66808 0 16260 125608  -/+ buffers/cache: 67080 208676  Swap: 1028120 0 1028120  Total:物理内存总数  Used:总计分配给缓存使用的数量,其中部分缓存可能未被实际使用  Free:未被分配的内存数量,还有多少可用  Shared:多个进程共享的内存总额  Buffers :是在内存中准备写入磁盘的缓冲区,实现一次性批量写入,避免频繁写入  Cached:是从磁盘中读取的内容在内存中的缓存,为后续读取提供一种快速的访问方式  Mem(第二行):针对os的,buffers和cached都是被使用的,所以tatal=used+free  [root@hky-linux1 ~]# echo $[208948+66808]  275756  -/+ buffers/cached:  -buffers/cached:被程序实实在在吃掉的内存  + buffers/cached:可以挪用的内存  所以total=used3+free3  [root@hky-linux1 ~]# echo $[208676+67080]  275756  Used2= buffers2+cached2+used3  [root@hky-linux1 ~]# echo $[16260+125608+67080]  208948  Free3=buffers2+cached2+free2  [root@hky-linux1 ~]# echo $[16260+125608+66808]  208676  不做清除操作:0  清除pagecache:1  清除dentires和inodes:2  清除dentires和inodes和pagecache:3  清除缓存操作方法  这里不得不介绍一下proc  Proc是一个虚拟文件系统是用户和内核之间实现通信的一种手段  “取值”不做清除操作:0  清除pagecache:1  清除dentires和inodes:2  清除dentires和inodes和pagecache:3、  Proc里的文件不能直接vi编辑,可以通过如下方法编辑  Echo [0,1,2,3] >/proc/sys/vm/drop_caches/  下面是我使用proc的实例  [root@hky vm]# free  total used free shared buffers cached  Mem: 255412 143964 111448 0 684 37396  -/+ buffers/cache: 105884 149528  Swap: 1020116 0 1020116  echo 1 > /proc/sys/vm/drop_caches  [root@hky vm]# free  total used free shared buffers cached  Mem: 255412 142912 112500 0 204 36788  -/+ buffers/cache: 105920 149492  Swap: 1020116 0 1020116  Buffer明显变小  echo 2 > /proc/sys/vm/drop_caches  [root@hky vm]# free  total used free shared buffers cached  Mem: 255412 143548 111864 0 588 37164  -/+ buffers/cache: 105796 149616  Swap: 1020116 0 1020116  因为2不清除脏页,所以buffer有所上升  echo 3 > /proc/sys/vm/drop_caches  [root@hky vm]# free  total used free shared buffers cached  Mem: 255412 142808 112604 0 132 36768  -/+ buffers/cache: 105908 149504  Swap: 1020116 0 1020116  看见没3效果最好  注意:  在执行清除缓存之前,必须手动执行sync  1 sync命令  运行sync子进程,将所有未写的系统缓冲区写入到磁盘中,包含已经修改的inode,保证文件系统的完整性  2 sysnc在修改drop_caches的值,可以清除磁盘缓存,释放内存,得出真实的磁盘io  3 清除磁盘缓存的另外一种方法就是执行sync后umount掉对应的磁盘分区设备  [root@hky-linux1 ~]# free;sync;free  total used free shared buffers cached  Mem: 275756 209728 66028 0 16928 125616  -/+ buffers/cache: 67184 208572  Swap: 1028120 0 1028120  total used free shared buffers cached  Mem: 275756 209756 66000 0 16936 125608  -/+ buffers/cache: 67212 208544  Swap: 1028120 0 1028120  [root@hky-linux1 ~]# echo "3" > /proc/sys/vm/drop_caches  [root@hky-linux1 ~]# free  total used free shared buffers cached  Mem: 275756 83112 192644 0 200 19680  -/+ buffers/cache: 63232 212524  Swap: 1028120 0 1028120  新命令:Last | more //查看都有哪些用户登录  Top –d 1 –n 1 > file  Strings file  举例看看缓存的作用  [root@hky vm]# time find / >/dev/null  real 2m9.407s  user 0m0.231s  sys 0m7.445s  用时2分钟多  Free  [root@hky vm]# free  total used free shared buffers cached  Mem: 255412 231016 24396 0 77620 37452  -/+ buffers/cache: 115944 139468  Swap: 1020116 0 1020116  Cached变的很大  现在重复执行  [root@hky vm]# time find / >/dev/null  real 0m2.538s  user 0m0.445s  sys 0m1.092s  用时两秒;  echo "3" > /proc/sys/vm/drop_caches  [root@hky vm]# free  total used free shared buffers cached  Mem: 255412 144052 111360 0 188 36800  -/+ buffers/cache: 107064 148348  Swap: 1020116 0 1020116  [root@hky vm]# time find / >/dev/null  real 1m29.158s  user 0m0.195s  sys 0m5.109s  Free命令有用的参数:  引用  ·-b,-k,-m和-g分别按照bytes, kilobytes, megabytes, gigabytes显示结果。  ·-l区别显示low和high内存  ·-s 每隔若干秒刷新一次
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部