free -m
我的 Linux 机器上显示交换内存几乎已完全使用。但是,对系统性能没有影响。但我真的应该担心吗?交换缓存也没有得到充分利用?那么这实际上会影响性能吗?请提出建议
免费
total used free shared buffers cached
Mem: 32959100 32786348 172752 0 85096 30303388
-/+ buffers/cache: 2397864 30561236
Swap: 4192956 4188456 4500
cat /proc/meminfo|grep 交换
SwapCached: 184012 kB
SwapTotal: 4192956 kB
SwapFree: 11584 kB
swappiness 为 60
我们还可以看到缓冲区/缓存下有大量可用内存。那么为什么我的交换内存使用率很高?这会对将来的性能产生什么影响?
答案1
根据答案判断有关 Sever Fault 的这个问题看起来你所有的交换文件是正在使用中,但还远远没有达到内存不足的程度。
缓冲区/缓存行表明,虽然磁盘缓存中确实有 30GB 内存,但其中大部分内存已准备好在需要时释放。如果“已用”列中的数字较大,则将有大量数据等待写入磁盘。
由于事实上它们都只是缓存数据,所以我怀疑您的内存中有 2gb 的实时应用程序数据,其余数据则由磁盘缓存使用。
Linux 完全有可能抢先调出所有应用程序数据,但数据仍然存储在 RAM 中。页面文件已满并不意味着系统没有可用内存。
引用我链接的页面:
free
如果行中的值-/+ buffers/cache:
很低,则表明 Linux 系统的内存确实不足。