1、简介
1.1 介绍
很多时候,服务器 负载 很高(执行操作 很慢),很多 原因 造成 这种 现象(内存不足 就是其中之一);此文 主要 关于 内存的 查看、释放 相关 知识
1.2 操作 系统
-
## 本文 使用 CentOS 7
-
# cat /etc/redhat-release
-
CentOS Linux release 7.0.1406 (Core)
2、内存 信息
2.1 获取 内存信息
-
-
total used free shared buffers cached
-
Mem: 979 261 717 6 0 74
-
-/+ buffers/cache: 186 793
-
Swap: 2079 0 2079
2.2 信息 解析
-
Mem:物理内存 统计
-
-/+ buffers/cache:物理内存 缓存 统计
-
Swap:硬盘 交换分区 统计
2.2.1 物理内存 统计
-
total:总内存
-
used:已使用的内存(包含 shared、buffers、cached)
-
free:未分配的内存
-
shared:共享内存
-
buffers:块设备的读写缓冲区
-
cached:文件系统的cache
2.2.2 物理缓存 统计
-
used:该数值 为 物理内存 行数值计算或者(used - buffers - cached)
-
free:该数值 为 物理内存 行数值计算或者(free + buffers + cached)
2.2.3 交换分区 统计
暂不做 介绍
3、内存 释放
调整/proc/sys/vm/drop_caches来释放内存(/proc是一个虚拟文件系统,我们可以通过对它的读写操作做为与kernel实体间进行通信的一种手段;可以通过修改/proc中的文件,来对当前kernel的行为做出调整)
3.1 刷新 缓冲区
某些 情况下,我们 必须停止系统,此时 可以 运行 sync 命令以确保文件系统的完整性;sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件
-
## 一般刷两次
-
# sync && sync
3.2 释放 内存
-
## /proc/sys/vm/drop_caches 默认值 为 0
-
# echo 3 > /proc/sys/vm/drop_caches
转载于:https://blog.51cto.com/11495268/2384147