linux - Linux 服务器上的缓存内存是 "free"吗?

标签 linux apache memory ubuntu

<分区>

Linux 服务器上的缓存内存是否“免费”,即可以免费供其他应用程序使用?

我知道 Linux 内存的使用方式与 Windows 不同...

但我只有几 MB 的可用内存和 1.2GB 的缓存内存:

             total       used       free     shared    buffers     cached
Mem:          3945       3893         51          0         28       1216
-/+ buffers/cache:       2648       1296
Swap:         3895        857       3038

那个chached内存是否像“不可用”一样使用?

定期删除缓存是否有意义?冲洗后我有:

             total       used       free     shared    buffers     cached
Mem:          3945       2820       1125          0          1        197
-/+ buffers/cache:       2621       1323
Swap:         3895        851       3044

1 小时后,它恢复到具有 1.2 GB 缓存内存的旧状态。

cat/proc/meminfo 刷新后 1 小时:

MemTotal:      4040048 kB
MemFree:         44636 kB
Buffers:         30172 kB
Cached:        1247868 kB
SwapCached:     137156 kB
Active:        3316940 kB
Inactive:       493920 kB
SwapTotal:     3989496 kB
SwapFree:      3101076 kB
Dirty:           25696 kB
Writeback:           0 kB
AnonPages:     2527784 kB
Mapped:         219676 kB
Slab:            52356 kB
SReclaimable:    21240 kB
SUnreclaim:      31116 kB
PageTables:      96668 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:   6009520 kB
Committed_AS:  6223392 kB
VmallocTotal: 34359738367 kB
VmallocUsed:     18852 kB
VmallocChunk: 34359719439 kB
HugePages_Total:     0
HugePages_Free:      0
HugePages_Rsvd:      0
HugePages_Surp:      0

最佳答案

需要说明的是,缓存列是已使用列的一个子集。进程使用的内存可以单独在已用列中,或者如果那段内存被缓存,则可以同时在已用列和缓存列中。缓存只是关于缓存了多少已用内存的报告。

缓存中的内存项不是免费的,但如果您需要空间,它们将从缓存中删除并替换为更频繁请求的内容。但是,您的操作系统足够聪明,可以将经常使用的 block 保存在缓存中——不要试图超越内存管理——你可能会做得更糟。

那些相同的项目不断加载到缓存中的原因是它们经常被需要。需要时不在缓存项中,仍会占用该内存空间。

关于linux - Linux 服务器上的缓存内存是 "free"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13181382/

相关文章:

linux - Linux (Bash) 中变量的多路径添加

php - 获取 fastCGI 脚本中的可执行路径

linux - 编译器说找不到 uuid.h 但 apt-get 说它是

php - cURL 7.27.0-1 无法通过 Apache PHP 加载,但在 php 命令行上运行良好

php - 无法在 centos 6.8 上安装 php55 imagick 已安装 php-devel 但缺少

c++ - 共享内存中的 vector 结构

Java内存分配DXX和XX的区别

c - 使用 libjpeg 时未定义对 jpeg_CreateDecompress() 的引用错误

linux - 无法从我的 Raspberry Pi B+ V2 的互联网打开 apache 网站

python - 跟踪由 Cython 包装的 C++ 中分配的内存使用情况