Linux的内存管理free 详解
在Linux下查看内存我们一般用command free
linux free 命令详解
功能说明:显示内存状态。
语 法: free [-bkmotV][-s <间隔秒数>]
补充说明:free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等
参 数:
-b 以Byte为单位显示内存使用情况。
-k 以KB为单位显示内存使用情况。
-m 以MB为单位显示内存使用情况。
-o 不显示缓冲区调节列。
-s<间隔秒数> 持续观察内存使用状况。
-t 显示内存总和列。
-V 显示版本信息。[break]
[root@nonamelinux ~]# free
total used free shared buffers cached
Mem: 386024 377116 8908 0 21280 155468
-/+ buffers/cache: 200368 185656
Swap: 393552 0 393552
下面是对这些数值的解释:
第二行(mem):
total:总计物理内存的大小。
used:已使用多大。
free:可用有多少。
Shared:多个进程共享的内存总额。
Buffers/cached:磁盘缓存的大小。
第三行(-/+ buffers/cached):
used:已使用多大。
free:可用有多少。
第四行就不多解释了。
区别:
第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别。
这两个的区别在于使用的角度来看,第一行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是8908KB,已用内
存是377116KB,其中包括,内核(OS)使用+Application(X,oracle,etc)使用的+buffers+cached.
第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用
程序需在用到内存的时候,buffer/cached会很快地被回收。
所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached.
如上例:
185656=8908+21280+155468
接下来解释什么时候内存会被交换,以及按什么方交换。
当可用内存少于额定值的时候,就会开会进行交换.
本篇文章来源于 www.itzhe.cn IT者网站 原文链接:http://www.itzhe.cn/news/20090504/382938.html
如何看额定值(RHEL4.0):
#cat /proc/meminfo
交换将通过三个途径来减少系统中使用的物理页面的个数:
1.减少缓冲与页面cache的大小,
2.将系统V类型的内存页面交换出去,
3.换出或者丢弃页面。(Application 占用的内存页,也就是物理内存不足)。
事实上,少量地使用swap是不是影响到系统性能的。
博主

人生就流星,虽然转瞬即逝,但也有永恒。
日历
恰饭
分类
热门文章
- 使用Erlang的OTP框架创建应用
- 新浪微博错误代码解析
- 腾讯QQ、阿里旺旺、淘宝、MSN在线状态代码生成
- php 使用curl模拟登录discuz以及模拟发帖
- erlang程序设计笔记
- 《HTML 5与CSS 3权威指南》权威的HTML5与CSS3实战教程
- dedecms修改数据库密码配置文件
- 服务器优化小记--Etag和Expires
- 在PHP5中使用PHPMailer发送邮件
- PHP中冒号、endif、endwhile、endfor介绍
- PHP框架——ThinkPHP
- QQ登陆成功返回openId后与网站绑定
- Mediawiki的配置和修改方法
- 用yaf-codes-generator 生成代码
- 解决缓存引发的CSS/JS/IMG问题
最新日志
- React组件的State
- golang 复制对象的正确做法
- 基于DDD的golang实践案例
- golang搜索引擎
- go语言string、int、int64互相转换
- golang-使用 go test 输出单元测试覆盖率
- 统计 Golang 项目的测试覆盖率
- golang goquery selector(选择器) 使用
- golang中设置Host Header的小Tips
- Linux抓包工具Tcpdump使用示例教程
- 腾讯云挂载初始化云硬盘
- 如何在 CentOS 上修改主机名
- 漫谈非加密哈希算法(MurMurHash,CRC32,FNV,SipHash,xxHash)
- Go 每日一库之 goquery
- python程序在命令行执行提示ModuleNotFoundError: No module named 'XXX' 解决方法
存档
- 2022年6月(2)
- 2022年5月(2)
- 2022年4月(1)
- 2022年3月(2)
- 2021年12月(1)
- 2021年11月(14)
- 2021年10月(2)
- 2021年9月(111)
- 2015年3月(1)
- 2014年5月(4)
- 2014年4月(18)
- 2014年1月(1)
- 2013年11月(2)
- 2013年7月(1)
- 2013年6月(1)
- 2013年3月(13)
- 2013年2月(3)
- 2013年1月(1)
- 2012年12月(8)
- 2012年11月(8)
- 2012年10月(1)
- 2012年9月(13)
- 2012年8月(4)
- 2012年6月(2)
- 2012年5月(10)
- 2012年4月(13)
- 2012年3月(9)
- 2012年2月(8)
- 2011年11月(1)
- 2011年8月(9)
- 2011年7月(8)
- 2011年6月(8)
- 2011年5月(7)
- 2011年4月(19)
- 2011年3月(15)
- 2011年2月(8)
- 2011年1月(9)
- 2010年12月(2)
- 2010年11月(2)
- 2010年10月(2)
- 2010年9月(8)
- 2010年8月(9)
- 2010年7月(1)
- 2010年6月(9)
- 2010年5月(5)
- 2010年1月(7)
- 2009年12月(21)
- 2009年11月(29)
- 2009年10月(100)
- 2009年8月(1)
- 2009年7月(15)
- 2009年6月(52)
标签
-
php
心情
Google
百度
反链
PR值
Meta
ActiveRecord
sql
离职信
fckeditor
Linux
dd
PHP框架
DDoS
正则
dedecms
netstat
top
free
bash
shell
mysql
设计
html
ssh
useradd
network
vim
apache
innodb
flash
文件
find
ls
代号
grep
swap
TCP
mysqldump
架构
故事
采集
TOM
面试题
优化
SVN
SEO
CMS
join
进制
nginx
安全
模式
thinkphp
总结
eAccelerator
Music
yii
MemCached
cookie
MVC
索引
joke
算法
Ubuntu
配置
扩展
du
tar
字符集
Firefox
数据库
Rsync
SecureCRT
discuz
ORM
explain
笑话
Etag
Expires
淘宝
摄影
电影
vi
信号
php书籍
header
模板
jQuery
规范
Python
学习
资料
手册
文言文
英语
方法
提示
人脉
电子商务
网络营销
谨记
兼容
前端
godaddy
ip
SERVER
DSN
MediaWiki
json
oauth
开放平台
javascript
404
虚拟礼物
水印
qq登陆
redis
图书
git
图表
C++
Objective-C
android
移动开发
IOS
sae
yii-sae
bootstrap
前端开发
短网址
经典图书
引用
开源
session共享
LogFormat
erlang
综合搜索
编程语言
豆瓣
网赚
客户端
Mac
Geolocation
团队
微博
博客
md5
yaf
guid
tag
开源项目
单点登录
面试
PHPExcel
SQL Server
group_concat
习惯
阿里云
PHP升级
模型
replace
emlog
命令
爬虫
单元测试
腾讯云
服务器
播放器
go
golang
gomod
gopath
框架
工具
composer
nodejs
http
homebrew
brew
error
水平居中
测试
markdown
java
rsa
screen
command
supervisor
Logrotate
ce
tmux
computer
video
Future
天网
无密码
效率
mod
Module
test
统计
shen
生活
写作
阅读
读书
c
excel
xlsx
code-review
错误处理
yaml
epoll
Consul
pulsar
port
context
redirect
urlencode
urldecode
validator
gomock
mockgen
goquery
hostname