查看Linux服务器下的内存使用情况
查看Linux服务器下的内存使用情况 ,可以使用命令free -m。注意此命令只在Linux下有效,在FreeBSD中没有此命令。命令如下所示:
used:已经使用的内存数
free:空闲的内存数
shared:多个进程共享的内存总额
-buffers/cache:(已用)的内存数,即used-buffers-cached
+buffers/cache:(可用)的内存数,即free+buffers+cached
得出结论:
可用内存的计算公式为:
可用内存=free+buffers+cached,即2551MB+268MB+917MB=3737MB
很久以前在笔记本上用Ubuntu8.04时就觉得Linux管理内存的机制非常优秀,简而言之:Linux的内存是拿来用的,而不是拿来看的。我与一个朋友探讨Linux的使用情况时,他问我为什么Linux使用的内存这么高。他机器上1GB的内存free才232MB,而Windows XP才用了200MB不到的样子。这其实是被Linux的free命令之表象迷惑了,Linux的内存使用是很有讲究的。还是举例说明,如下的free命令所显示的是当前内存的使用情况,-m的意思是用M个字节来显示内容,我们来一起看看。
在第一部分Mem行中有如下参数。
total:内存总数,即1002MB
used:已经使用的内存数,即769MB
free:空闲的内存数,即232MB
shared:当前已经废弃不用,总是0
buffers Buffer:缓存内存数,即62MB
cached Page:缓存内存数,即421MB
其中,内存总数与已使用内存数和空闲内存数的关系是:
total(1002M)=used(769M)+free(232M)
在第二部分内容(-/+buffers/cache)中各参数如下所示。
(-buffers/cache):used内存数,即286MB(指的是第一部分Mem行中的used-buffers-cached)。
(+buffers/cache):free内存数,即715MB(指的是第一部分Mem行中的free+buffers+cached)。
可见-buffers/cache反映的是被程序实实在在用掉的内存,而+buffers/cache反映的是可以挪用的内存总数。
第三部分是指交换(swap)分区,大家应该都明白,这里就不再讲了。
有可能大家看了上面的解释还是不太明白。比如:第一部分(Mem)与第二部分(-/+buffers/cache)的结果有关,used和free为什么这么奇怪?其实我们可以从两个方面来分析。对操作系统来讲这两项是Mem的参数,buffers/cached都属于被使用,所以它认为free只有232MB;对应用程序来讲+buffers/cached等同于可用的内存,因为buffer/cached可提高程序执行的性能,当程序使用内存时,buffer/cached很快就会被使用。所以从应用的角度来看,应以(-/+buffers/cache)的free和used为主,即我们主要看与它相关的free和used就可以了。另外告诉大家一些常识,为了提高磁盘和内存的存取效率,对Linux做了很多精心的设计,除了对dentry进行缓存(用于VFS、加速文件路径名到inode的转换)外,还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者用于针对磁盘块的读写,后者用于针对文件inode的读写。这些Cache能有效地缩短I/O系统调用(比如read、write、getdents)的时间。
在Linux中,内存是拿来用的,不是拿来看的。而在Windows中,无论你的真实物理内存有多少,它都会用硬盘交换文件来读,即使是内存还有一大部分。这也就是Windows常常提示虚拟空间不足的原因。可以想见,硬盘怎么会快过内存,所以我们在观察Linux的内存使用情况时,只要没发现用swap的交换空间,就不用担心自己的内存太少。如果常常看到swap用了很多,那么你就要考虑加物理内存了。这也是在Linux服务器上看内存是否够用的标准。
本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/
查看Linux服务器下的内存使用情况相关推荐
- 检测linux服务器的使用情况,如何在Linux服务器中检查内存使用情况
我们在排除服务器系统或应用程序速度减慢或行为不正常的问题时,首先要检查的是系统内存使用情况. 本文介绍了如何在Linux系统服务器中使用几个不同的命令来检查RAM的使用情况. 1.free命令 fre ...
- 查看linux电脑总内存,如何查看Linux系统中的内存使用情况的命令呢?
有些命令可用于检查Linux系统中的内存使用情况.这是一些更好的命令. 有很多工具可以查看Linux系统中的内存使用情况.一些命令被广泛使用,例如free和ps.其他命令允许以多种方式显示系统的性能统 ...
- 查看linux服务器下接设备,linux下如何查看设备信息_网站服务器运行维护
linux下如何查看php是否启动_网站服务器运行维护 linux下查看php是否启动的方法是:可以通过执行[ps -ef | grep php]命令来查看,或者是通过执行[ps -A | grep ...
- 命令查看Linux服务器内存、CPU、显卡、硬盘使用情况
命令查看Linux服务器内存.CPU.显卡.硬盘使用情况 查看内存使用情况 使用命令:free -m 大致结果类似下图: 内存占用情况 参数解释: Mem行(单位均为M): total:内存总数 us ...
- 【收藏】如何查看linux服务器内存使用情况
如何查看linux服务器内存使用情况 https://www.cnblogs.com/hanmk/p/10556989.html [root@m-0 ~]# ps -eo pmem,pcpu,rss, ...
- Linux工作笔记036---Centos下查看cpu、磁盘、内存使用情况以及如何清理内存
JAVA技术交流QQ群:170933152 Centos下查看cpu.磁盘.内存使用情况以及如何清理内存 核查服务器基本情况 查看内存使用情况 free -m 查看cpu使用情况 top #查看进程运 ...
- linux查服务器总内存大小,怎么查看linux中的可用内存大小
怎么查看linux中的可用内存大小 发布时间:2020-06-16 13:28:33 来源:亿速云 阅读:620 作者:鸽子 作为Linux用户,特别是管理员,我们需要检查系统使用多少内存资源以及有多 ...
- 查看linux每个进程占用内存多少,Linux下如何查看哪个进程占用内存多?
1.top top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 可以直接使用top命令后,查看%MEM的内容.可以选择按进程查看或者 ...
- Linux查看应用的CPU、内存使用情况
目录 一.jps命令. 二.ps命令. 三.top命令. 四.free命令. 五.df命令. 查看应用的CPU.内存使用情况,使用jps.ps.top.free.df命令查看. 一.jps命令. 可以 ...
最新文章
- mysql %w_MySQLDATE_FORMAT()函数
- SAP链接外部数据库的实现方法
- window中搭建jenkins_为容器化的 Go 程序搭建 CI
- git 日常 常用命令
- 计算机编程ebcdic码,ASCII码和EBCDIC码
- 怎么禁用计算机usb驱动,电脑设置禁用U盘的四大方法|怎么让电脑无法使用U盘
- c语言修改pdf文件内容,PDF如何编辑,PDF文件怎么修改文字
- 电子宠物游戏(附C++源码)
- 深度神经网络之Keras(二)——监督学习:回归
- 假如你想成为全栈工程师…
- 采购交期改善,这些表格一定要用上
- 多功能运算求解器_matlab中bsxfun函数
- php html5 cms,建站教程|CMS教程|PHP教程|html5教程 - 站长图库
- Python 使用Opencv读写视频(Opencv教程二)
- 前端 | 数据可视化示例模板
- java斗地主游戏开发 算法思路讲解
- ITSS认证分为几个级别,哪个级别最高
- Vulnhub靶机:DC-8渗透详细过程
- rust做嵌入式开发_Redox:一款纯用Rust语言开发的操作系统
- Markdown语法大全汇总