如何增加 32 位 Linux 上用于缓存的内存量?

如何增加 32 位 Linux 上用于缓存的内存量?

我有一台配备 64 GiB RAM 的服务器,运行 32 位 Debian GNU/Linux v7.9:

# uname -a
Linux srv1 3.2.0-4-686-pae #1 SMP Debian 3.2.68-1+deb7u5 i686 GNU/Linux
# free -m
             total       used       free     shared    buffers     cached
Mem:         64203       8352      55850          0        134       5861
-/+ buffers/cache:       2356      61847
Swap:         8582          0       8582

问题是内存处于未使用状态,但可用于缓存从而提高系统性能。

我有另一台具有相同硬件的服务器,它运行 64 位 Debian GNU/Linux v8.1,并且不是有这样的问题:

# uname -a
Linux srv2 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1 (2015-05-24) x86_64 GNU/Linux
# free -m
         total       used       free     shared    buffers     cached
Mem:         64513      62750       1763         45      10235      42048
-/+ buffers/cache:      10466      54047
Swap:         8582         39       8543

第一台服务器实际上比第二台服务器更忙,所以问题不在于它没有足够的数据来缓存。此外,第一台服务器也没有那么忙,因此缓存很快就会过期,因为用户空间进程对内存的需求很高。

您能告诉我为什么第一台服务器上的内存未被使用吗?

一些补充说明:

  • 服务器运行 Debian 内核
  • 我没有做过自定义 /proc/sys/vm 修改
  • 这些服务器用于相同的目的并运行相同的软件
  • 多台服务器也存在此问题
  • 我在这些服务器上看到的最大缓存大小约为 7-8 GiB

相关内容