Linux系统内存使用的体会及命令解释

Linux的内存管理,实际上跟windows的内存管理有很相像的地方,都是用虚拟内存这个的概念,说到这里不得不骂MS,为什么在很多时候还有很大的物理内存的时候,却还是用到了pagefile. 所以才经常要跟一帮人吵着说Pagefile的大小,以及如何分配这个问题,在Linux大家就不用再吵什么swap大小的问题,我个人认为,swap设个512M已经足够了,如果你问说512M的SWAP不够用怎么办?只能说大哥你还是加内存吧,要不就检查你的应用,是不是真的出现了memory leak. 夜也深了,就不再说废话了。

在Linux下查看内存我们一般用command free;

[root@nonamelinux ]# free total used free shared buffers cached;

Mem: 386024 377116 8908 0 21280 155468;

-/+ buffers/cache: 200368 185656;

Swap: 393552 0 393552;

下面是对这些数值的解释:

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 接下来解释什么时候内存会被交换,以及按什么方交换。 当可用内存少于额定值的时候,就会开会进行交换。

如何看额定值(RHEL4.0):

#cat /proc/meminfo

时间: 2024-11-10 14:46:57

Linux系统内存使用的体会及命令解释的相关文章

shell脚本监控linux系统内存使用情况的方法(不使用nagios监控linux)_linux shell

一.安装linux下面的一个邮件客户端msmtp软件(类似于一个foxmail的工具) 1.下载安装: 复制代码 代码如下: # tar jxvf msmtp-1.4.16.tar.bz2# cd msmtp-1.4.16# ./configure --prefix=/usr/local/msmtp# make# make install  2.创建msmtp配置文件和日志文件(host为邮件域名,邮件用户名test,密码123456) 复制代码 代码如下: # vim ~/.msmtprcac

Linux系统如何关闭scp和sftp命令

  Linux系统如何关闭scp和sftp命令. sftp介绍 sftp是Secure File Transfer Protocol的缩写,安全文件传送协议.可以为传输文件提供一种安全的加密方法.sftp 与 ftp 有着几乎一样的语法和功能 scp介绍 两台主机之间传输文件一般使用scp命令,通常用scp命令通过ssh获取对方linux主机文件的时候都需要输入密码确认,方法差不多了. 禁止scp和sftp命令服务器教程 系统:centos 5.x 1.先禁止scp rpm -qa|grep o

Linux系统的关机与重启相关命令总结

  1. sync sync:flush file system buffers. sync命令作用:刷新文件系统的缓存,将数据同步写入硬盘. 执行sync命令的必要性:在计算机中,CPU所处理的数据首先要被读入内存中,而这些数据又经常要写回到硬盘上,但是硬盘的速度相对于内存来说太慢,如果数据频繁在内存与硬盘间交换,系统性能将大打折扣,所以为了加快数据的读取速度,默认情况下,某些已经加载在内存中的数据将不会直接被写回硬盘,而是先暂存在内存当中,这时如果关机或重启电脑,暂存在内存中的数据将可能丢失

Linux系统被入侵后使用lsof命令恢复被删除日志的方法

  Linux系统是服务器最常见的操作系统,当然也面临着非常多的安全事件,相较Windows操作系统,Linux采用了明确的访问权限控制和全面的管理工具,具有非常高的安全性和稳定性.Linux系统被入侵后,攻击者为了掩盖踪迹,经常会清除系统中的各种日志,包括Web的access和error日志.last日志.message日志.secure日志等,给我们后期应急响应和取证分析带来了非常大的阻力.所以,恢复被清除的日志是非常重要的取证和分析环节,一下是使用lsof命令恢复日志文件的案例,适用于常见

Linux系统内存使用经验

今天因为要解释系统中可用内存的大小,用google看了半天,还有在CU上找了关天,竞然没有发现有比较好的章,估计很多人都没有注意到,懂了以后又没有整理出来. 在CU上看了很多文章说什么memory leak和linux内存管理不好,事实都是因为不懂linux的内存管理引起的误会. 晚上我把这几天看到,跟自已的一些想法,实验总结出来,供大家参考,如果有什么错误的时候请直接指出来,同时感谢wiki论坛不知名的作者以及他写的FAQ Linux Memory Management. Linux的内存管理

Linux系统中下载文件的wget命令行工具

简介 Linux系统中的wget是一个下载文件的命令行工具. 对于Linux用户是必不可少的工具,对于经常要下载一些软件或从远程服务器恢复备份到本地服务器,这个命令尤为重要.wget支持HTTP,HTTPS和FTP协议,可以使用HTTP代理. 自动下载 wget支持自动下载,即wget可以在用户退出系统的之后在后台执行.这意味这你可以登录系统,启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成,这是个牛气冲天的功能. 完全重建 wget 可以跟踪HTML页面上的链接依次下载

linux系统下ubuntu重启apache服务命令

Linux系统为Ubuntu 一.Start Apache 2 Server /启动apache服务 # /etc/init.d/apache2 start or $ sudo /etc/init.d/apache2 start 二. Restart Apache 2 Server /重启apache服务 # /etc/init.d/apache2 restart or $ sudo /etc/init.d/apache2 restart 三.Stop Apache 2 Server /停止ap

Linux系统中的ps进程查看命令使用实例集锦

  linux 中ps命令是Process Status的缩写.ps命令可以列出系统中当前运行的进程,所列出的进程是执行ps命令这个时刻正在运行的进程. 如果要动态显示进程信息,需要使用top命令. 通过ps命令,可以确定哪些进程正在运行和运行状态.进程是否结束.进程是否僵死,哪些进程占用过多资源等. 要杀死进程,使用kill命令,例:kill 12345 (12345为进程的pid) linux进程有5种状态 1.运行(正在运行或在运行队列中等待) 2.中断(休眠中,受阻,或等待某个条件的形成

详解Linux系统内存寻址的分页机制

  分页机制在段机制之后进行,以完成线性-物理地址的转换过程.段机制把逻辑地址转换为线性地址,分页机制进一步把该线性地址再转换为物理地址. 硬件中的分页 分页机制由CR0中的PG位启用.如PG=1,启用分页机制,并使用本节要描述的机制,把线性地址转换为物理地址.如PG=0,禁用分页机制,直接把段机制产生的线性地址当作物理地址使用.分页机制管理的对象是固定大小的存储块,称之为页 (page).分页机制把整个线性地址空间及整个物理地址空间都看成由页组成,在线性地址空间中的任何一页,可以映射为物理地址