如何使用sar报告计算LInux服务器的内存利用率?

问题描述 投票:0回答:2

我正在尝试为几台Linux服务器生成内存利用率报告。我想每10分钟收集服务器的%内存利用率,我认为sar可以帮助获取数据。之前我虽然列%memused将直接给出服务器的%内存利用率。但在阅读了几篇文章后,我怀疑这不是服务器的正确内存利用率,因此我想知道计算服务器内存利用率的最佳方法。

任何人都可以帮我计算服务器的%内存利用率,每10分钟使用sar报告或任何其他最佳来获得%内存利用率。

06:39:47 PM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit
06:39:48 PM    616552   3307708     84.29    245368   2174816   1196772     24.07
06:39:49 PM    616552   3307708     84.29    245368   2174816   1196772     24.07
linux memory memory-management rhel6 sar
2个回答
0
投票

系统上的实际可用内存是免费的+缓冲区+缓存。缓冲区和缓存用于提高系统性能,但在需要时将返回到空闲池。

如果你使用大量的共享内存(例如,通过大缓存进行处理),计算会略有不同,我使用free

xxx@xxx:$ free -h
              total        used        free      shared  buff/cache   available
Mem:            62G        4.4G        7.9G         11G         50G         45G
Swap:          2.0G         12M        1.9G

这种情况下的空闲内存是:

  • (免费+ buff /缓存) - 共享。
  • 7.9 + 50 - 11

0
投票

要使用SAR计算空闲内存值,请使用以下公式:

kbmemfree + kbbuffers + kbcached = actual free memory on the system

使用你的例子:

616552 + 245368 + 2174816 = 3036736KB

那是大约2.89GB的可用内存。

我相信你可以减去可用的总内存来获得利用率。

© www.soinside.com 2019 - 2024. All rights reserved.