linux 服务器内存详解 +清理内存缓存

  • -b,-k,-m,-g show output in bytes, KB, MB, or GB
  • k,m,g显示输出字节,KB,MB,或GB
  • -h human readable output (automatic unit scaling)
  • 可读输出(自动单元缩放)
  • -l show detailed low and high memory statistics
  • 显示详细的低内存和高内存统计
  • -o use old format (no -/+buffers/cache line)
  • 使用旧格式(无缓冲区/高速缓存行
  • -t display total for RAM + swap
  • 显示总的RAM +交换
  • -s update every [delay] seconds
  • 更新每[延迟]秒
  • -c update [count] times
  • 更新[计数]次数
  • -a show available memory if exported by kernel (>80 characters per line)
  • 可用内核导出的可用内存(每行80个字符)
  • -V display version information and exit
  • 显示版本信息并退出
time free -s 1 -c 2   #表示持续每隔1s更新更新一次mem信息,更新2次

[root@qqjf1 ~]# time free -s 1 -c 2
total used free shared buffers cached
Mem: 16332256 6323968 10008288 0 14392 125776
-/+ buffers/cache: 6183800 10148456
Swap: 0 0 0

total used free shared buffers cached
Mem: 16332256 6324100 10008156 0 14400 125776
-/+ buffers/cache: 6183924 10148332
Swap: 0 0 0


real 0m1.001s
user 0m0.000s
sys 0m0.001s

  • total: 内存总数
  • used: 已经使用内存数
  • free: 完全空闲内存
  • shared: 多个进程共享的内存
  • buffers: 用于块设备数据缓冲,记录文件系统metadata(目录,权限,属性等)
  • cached: 用于文件内容的缓冲
  • Mem: 物理内存
  • -/+ buffers/cache: 基于应用角度考虑(计算已使用内存时减去buffers/cache,计算可使用内存时加上buffers/cache)的内存情况,也可理解为真实的内存使用情况.
  • Swap: 交换分区

===============================================================================================

-buffers/cache——应用程序使用的内存大小,used减去缓存值
+buffers/cache——所有可供应用程序使用的内存大小,free加上缓存值
-buffers/cache=used-buffers-cached
+buffers/cache=free+buffers+cached

=================================================================================================

 

total used free shared buffers cached
Mem: 15949 6176 9772 0 14 123
-/+ buffers/cache: 6039 9910
Swap: 0 0 0

这里系统 :可用为 9910M ,已经使用6039M  : 注:9910为可用缓存区,系统可以随时调用的内存;

==================================================================================================

swap :上边表示未使用

一般情况下不建议这么做, 如果你确定向的话还是可以的
首先运行sync把未存盘的cache都写入磁盘,稍等片刻, 或者是直接运行sync 两遍

然后echo  1  试试应该大部分缓存可以释放

释放cache  memory内存:

To free pagecache:
echo 1 > /proc/sys/vm/drop_caches
To free dentries and inodes:
echo 2 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes:
echo 3 > /proc/sys/vm/drop_caches

这个文件中记录了缓存释放的参数,默认值为0,也就是不释放缓存。
他的值可以为0~3之间的任意数字,代表着不同的含义:
0 – 不释放
1 – 释放页缓存
2 – 释放dentries和inodes
3 – 释放所有缓存

posted @ 2017-08-29 15:01  Novicelong  阅读(12956)  评论(0编辑  收藏  举报