共计 755 个字符,预计需要花费 2 分钟才能阅读完成。
在 Linux 系统(比如 CentOS/RadHat、Debian/Ubuntu)上配置 lnmp 环境,通过探针查看物理内存使用率:
当然,也可以使用 top 命令查看:
从上面的图片可以看出 物理内存 使用率高达 80% 以上,正常吗?
作为 Linux 新手的站长,开始也是担心内存不够用,还怀疑是不是系统不正常,后来 Google 下才知道,这很正常!
Linux 特性:充分利用物理内存,加快数据访问
在 Linux 中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然。这是 Linux 内存管理的一个优秀特性,在这方 面,区别于 Windows 的内存管理。主要特点是,无论物理内存有多大,Linux 都将其充份利用,将一些程序调用过的硬盘数据读入内存,利用内存读写的高速特性来提高 Linux 系统的数据访问性能。而 Windows 是只在需要内存时,才为应用程序分配内存,并不能充分利用大容量的内存空间。换句话说,每增加一些物理内存,Linux 都将能充分利用起来,发挥了硬件投资带来的好处,而 Windows 只将其做为摆设,即使增加 8GB 甚至更大。
Linux 的这一特性,主要是利用空闲的物理内存,划分出一部份空间,做为 cache 和 buffers,以此提高数据访问性能。
页高速缓存 (cache) 是 Linux 内核实现的一种主要磁盘缓存。它主要用来减少对磁盘的 I / O 操作。具体地讲,是通过把磁盘中的数据缓存到物理内存中,把对磁盘的访问变为对物理 内存的访问。
磁盘高速缓存的价值在于两个方面:第一,访问磁盘的速度要远远低于访问内存的速度,因此,从内存访问数据比从磁盘访问速度更快。第二,数据一旦被访 问,就很有可能在短期内再次被访问到。