RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:9:30-18:00
你可能遇到了下面的问题
关闭右侧工具栏

技术支持

谷歌推广 > 技术支持 > 推广优化 >

查看Linux服务器的内存使用情况

  • 作者:谷歌推广
  • 发表时间:2019-12-28 02:34
  • 来源:迅龙网络

查看Linux服务器的内存使用情况,我们可以使用如下命令:

free -m 

Free命令显示的是当前内存的使用情况,m的意思是以M个字节来显示内容,此命令只在Linux系统下有效,在FreeBSD下是没有此命令的。命令显示结果如下所示:

total    used    free   shared  buffers   cached

Mem:     3949    1397    2551     0    268    917

-/+ buffers/cache:    211    3737

Swap:    8001     0    8001

上述结果中各个参数的详细说明如下:

·total:内存总数。

·used:已经使用的内存数。

·free:空闲的内存数。

·shared:多个进程共享的内存总额。

·buffers buffer cache和cached page cache:磁盘缓存的大小。

·-buffers/cache:(已用)的内存数,即used-buffers-cached。

·+buffers/cache:(可用)的内存数,即free + buffers + cached。

由此得出结论,可用内存的计算公式为

可用内存=free+buffers+cached

2551MB+268MB+917MB=3737MB

注意 细心的读者朋友们可能会发现上面等式两边的数值并不相等,但这个没关系,-m参数其实是以整数数值来取舍的。大家如果对这个运算结果有怀疑,可以尝试不带-m参数来观看free命令显示的结果,这样就会一目了然了。


可见-buffers/cache反映的是被程序实实在在占用的内存,而+buffers/cache反映的是可以挪用的内存总数。

第三部分是指交换分区,比较简单,这里不再介绍了。


有可能大家看了上面的解释还是不太明白。比如:第一部分(Mem)与第二部分(-/+buffers/cache)的结果有关,used和free为什么这么奇怪?其实我们可以从两个方面来分析。对操作系统来讲这两项是Mem的参数,buffers/cached都属于被使用,所以它认为free只有2551MB;对应用程序来讲+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服务器上看内存是否够用的标准。

上一篇:深圳网站建设中导航的基本作用 下一篇:深圳网站建设如何走创新这条路?