AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 765216
Accepted
jin
jin
Asked: 2023-12-20 11:17:44 +0800 CST2023-12-20 11:17:44 +0800 CST 2023-12-20 11:17:44 +0800 CST

Top KiB Mem 百分比数据意味着什么?

  • 772

我使用top时,内存数据在概览区显示如下:

KiB Mem : 16092836 total,   143168 free, 11005184 used,  4944484 buff/cache

然后我使用m(交互命令)来切换内存数据显示模式:

KiB Mem : 88.7/16092836 [|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||         ]

我的问题是: 的结果100*used/total是68.3856,是如何88.7计算的?

top
  • 1 1 个回答
  • 51 Views

1 个回答

  • Voted
  1. Best Answer
    j824h
    2023-12-20T16:09:13+08:002023-12-20T16:09:13+08:00

    正如您所想象的,该百分比相当于100*used/total。

    这个百分比100*(1-available/total)与 令人困惑地不同100*used/total。

    这里,“可用”的含义与中所示的相同free。

    相关主题:

    • “free -m”命令中“available”字段的含义
    • 我该如何理解 free 的输出?

    参考手册

    该行为记录在参考手册中。

    在备用内存显示模式中,显示两个简短的摘要行,其中包含以下元素:

                   a    b          c
        GiB Mem : 18.7/15.738   [ ... ]
        GiB Swap:  0.0/7.999    [ ... ]
    

    其中: a) 是使用的百分比;b) 是可用总量;c) > 是这些表示的两个可视化图表之一。

    对于物理内存,百分比表示总数减去上面提到的 估计利用率。“Mem”图本身分为已用的非缓存部分和未由avail计算的任何剩余内存。请参阅主题 4b。摘要区域命令和“m”命令提供有关该特殊 4 路切换的附加信息。

    的源代码top

    目前可以通过调查源码来验证。

    传递到图形视图的数据

    #ifdef MEMGRAPH_OLD
          my_misc = my_qued;
    #else
          my_misc = MEM_VAL(mem_TOT) - MEM_VAL(mem_AVL) - my_used;
    #endif
          Graph_mems->total = MEM_VAL(mem_TOT);
          Graph_mems->part1 = my_used;
          Graph_mems->part2 = my_misc;
    

    图表视图中的计算

       if (these->total > 0)
          scale = 100.0 / these->total;
       rx.pcnt_one = scale * these->part1;
       rx.pcnt_two = scale * these->part2;
       if (rx.pcnt_one + rx.pcnt_two > 100.0 || rx.pcnt_two < 0)
          rx.pcnt_two = 0;
       rx.pcnt_tot = rx.pcnt_one + rx.pcnt_two;
    

    传递到默认视图的数据

          prT(bfT(0), mkM(MEM_VAL(mem_TOT))); prT(bfT(1), mkM(MEM_VAL(mem_FRE)));
          prT(bfT(2), mkM(MEM_VAL(mem_USE))); prT(bfT(3), mkM(my_qued));
          prT(bfT(4), mkM(MEM_VAL(swp_TOT))); prT(bfT(5), mkM(MEM_VAL(swp_FRE)));
          prT(bfT(6), mkM(MEM_VAL(swp_USE))); prT(bfT(7), mkM(MEM_VAL(mem_AVL)));
    
          snprintf(row, sizeof(row), N_unq(MEMORY_line1_fmt)
             , scT(label), N_txt(WORD_abv_mem_txt), bfT(0), bfT(1), bfT(2), bfT(3));
          Msg_row += sum_see(row, mem2UP);
    

    关于报道的不一致之处

    • 您是否检查过您匹配的快照是否是在相同的系统状态下生成的?如果同时打印,即使在默认视图下,所用内存也可能仅为 88.7%。
    • 你的版本是什么top?内存窗口的当前行为已在3.3.10中介绍。
    • 您在哪个平台上运行它?似乎有一些标志可以更改传递给图形的数据。

    进一步信息和审查后更正。

    • 0

相关问题

  • 为什么默认非irix模式下top的CPU故障(选项1)显示冲突结果?

  • top命令中swap部分的含义

  • 不同top的CPU模式如何相互对应?

  • 为什么“top”命令输出中列出的总任务不等于运行+睡眠?

  • 清除`top`中添加的过滤器

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve