gpt4 book ai didi

linux - 了解 sysstat sar 内存输出

转载 作者:行者123 更新时间:2023-12-05 02:33:49 31 4
gpt4 key购买 nike

我正在为 future 几天的更多流量做准备,我想确保服务器能够处理它。

运行 sar -q,“3.5”的负载在 32 CPU 架构上似乎并不多:

CPU SAR OUTPUT

但是,我不确定内存。

运行 sar -r 显示 98.5% 的 %memused 和 13.60 的 %commit:

MEMORY SAR OUTPUT

运行 htop 似乎也不错:14.9G/126G。这是否意味着在可用的 126 个 Gig 中只有 14.9 Gig 被应用程序使用?

enter image description here

我对 sar -r 的输出更感兴趣。

%memused 看起来 98.5% 而 %commit 只有 13.6%我想知道这是什么意思。

最佳答案

你看,当内存不被使用时,linux 会尝试缓存在内存中读取或写入的磁盘 block 。这是您在 kbcached 和 kbbuffers 列中看到的 sar 报告的内容。当一个新的请求进来并需要内存时,它会从这个缓存或空闲列表中获得。

kbmemused = 运行进程消耗的内存 + 缓存 + 缓冲区

要找出您的应用程序实际使用的内存,您应该从 kbmemused 中减去 kbbuffers 和 kbcached。

监控 %commit 更有意义,它是当前正在运行的进程使用的实际内存。在您的情况下,此数字与 htop 的输出大致匹配。

检查实际可用内存的另一种方法是使用命令 free -m。free 报告与 sar 相同的统计数据。

总结

  • memused 98.5% 显示您的应用程序使用的内存 + 用于内核加速磁盘访问的缓存和缓冲区。
  • commit 13.6% 是内核向您的应用程序进程提交的实际内存。

关于linux - 了解 sysstat sar 内存输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70881614/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com