有时,当您有几GB的RAM时,以千字节为单位查看meminfo并不舒服。在Linux中,它看起来像:



这是在Mac OS X中的外观:



是否可以在Linux顶部以兆字节,千兆字节和兆字节显示meminfo?

评论

显然,有些帖子说在Redhat Linux中,您可以执行诸如top -M之类的操作以MB形式显示使用情况。如果只想监视内存使用情况,则可以使用htop来代替。不确定是否有其他选择。

没错,但是内置帮助中没有关于此的内容。我只是偶尔能够在手册页中找到

手册页是内置帮助。

您始终可以使用free -m,或者更好的使用free -h。

跳到顶部时,按E直到它显示您正在寻找的内存累积量,然后按W将配置写入磁盘。

#1 楼

在顶部时,键入大写字母“ E”会在总内存信息中的不同内存单元(KiB,MiB,GiB等,不同于kB,MB和GB)中循环: br />
小写的“ e”具有相同的单个处理行:



来自联机帮助页:

2c. MEMORY Usage
    This  portion  consists of two lines which may express values in kibibytes
    (KiB) through exbibytes (EiB) depending on  the  scaling  factor  enforced
    with the 'E' interactive command.


版本信息:top -versionprocps-ng version 3.3.9系统:CentOS 7

评论


在RHEL中不适用于我

–安东尼·阿纳尼奇(Anthony Ananich)
14年5月11日在11:49

在Ubuntu 14.04欢呼声中工作。

– tjjjohnson
2014年5月22日下午4:22

在fedora 20中工作

– sivann
2014年9月19日在8:48

@AnthonyAnanich:在RHEL 7中对我有用。

– krlmlr
2014年12月17日在11:14

<未来的时间机器>我发现PB的默认单位严重不足且无济于事。我总是不得不至少击中E一次才能达到以埃字节为单位的最高值。

–特雷弗·博伊德·史密斯
17年2月16日在15:12

#2 楼

有一个命令行选项可以执行以下操作:

-M : Detect memory units
            Show memory units (k/M/G) and display floating point values in the
            memory summary.


所以像这样运行top就足够了:

top -M


如果-M不起作用,则可以在已排在顶部时按E

man top(procps-ng版本3.3.9)开始:


E:摘要区域中的扩展内存规模
使用此命令,您可以可以在可用的摘要区域内存缩放范围内循环,范围从KiB(千兆字节或1,024字节)到EiB(千兆字节或1,152,921,504,606,846,976字节)。

如果在显示的数字和以下数字之间看到“ +”,标签,这意味着top被迫截断该数字的某些部分。通过提高比例因子,可以避免这种截断。




评论


+1,但在Ubuntu中签入,其说法无效。在Ubuntu中可以吗?

–rɑːdʒɑ
2013年12月19日15:59



我不知道,@ richardparker

–安东尼·阿纳尼奇(Anthony Ananich)
2013年12月19日下午16:32

该死的,您通过简单(但很好)的自答与答积累了很多业力。辛苦了

–user1717828
15-10-29在15:39

那个模糊还不够模糊,安东尼奥。

– Evgeni Sergeev
16年5月24日在9:19

适用于RHEL 6(按'E'不作为顶部注释)

–熔冰
16 Sep 9'在10:02



#3 楼

您也可以使用htop。它比top凉爽得多。

如果您使用的是Debian或其衍生产品之一,则可以使用sudo apt-get install htop进行安装。



编辑:这是具有更好配色方案的屏幕截图:



评论


htop在白色或黑色背景下看起来更好。您的屏幕截图配色方案不理想。

– jlliagre
13年12月19日在17:42

@jlliagre情人的眼神。

–乔纳森·科玛(Jonathan Komar)
15年8月7日在7:07

@ macmadness86添加了备用屏幕截图

– jlliagre
15年8月7日在7:20

fyi,htop带有其他颜色的shemes,您可以通过设置F2来访问。

–米格尔·莫塔(Miguel Mota)
16-11-28在20:09



我使用别名top ='htop --no-color'来运行,因此我可以键入'top'并获得合理的top替代品,而无需使用可怕的配色方案。

– SurpriseDog
19年7月12日在18:18



#4 楼

据我所知,top -M在Fedora,Debian或Ubuntu发行版中均不起作用。我只是试过了,它不在提供procps-ngtop软件包中。 top的实现有很多,因此需要特别注意它们的使用。
通常,最好使用free进行切换以在Linux上释放可用的内存量。
procps与procps- ng
您可能已经注意到,在CentOS 5和6以及RHEL 5和6上,top -M似乎可以正常工作。这是因为这些发行版附带了原始版本的procps。这个项目是分叉的,现在还有另一个项目procps-ng
从Fedora项目的页面上可以找到为什么有叉子的一些细节。
摘录

旧(旧版)procps工具已有数年没有更新,并且由于特定于本地的发行版特定补丁程序(未在上游合并)而导致大规模的代码拆分。该项目变得难以维护,因为一些新编写的补丁程序与其他发行商维护的来源不兼容。在应用程序行为及其命令行开关中可能会注意到类似的不兼容问题。这种不可避免的更新可以理解为努力在所有Linux发行版中统一procps工具。

很明显,派生的项目procps-ng是Debian,Fedora,Ubuntu和其他发行版使用的东西。 ,确实支持top -M的旧项目仍在使用一些与最新和最新版本不符的长期版本。
注意:我下载了最新版本的procps-ng,“ procps-ng版本3.3.9.1-14ef”,它也缺少-M开关。
$ ./top/top -version
  procps-ng version 3.3.9.1-14ef
Usage:
  lt-top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]

免费
在运行带有开关的free时,您可以看到最可能的原因,即缺少单元procps-ngtop的实现中缺少此功能。
$ free -m
             total       used       free     shared    buffers     cached
Mem:          7782       6506       1276          0        504       1726
-/+ buffers/cache:       4274       3507
Swap:         7823       1429       6394
[saml@greeneggs ~]$ free -k
             total       used       free     shared    buffers     cached
Mem:       7969492    6663180    1306312          0     516948    1764780
-/+ buffers/cache:    4381452    3588040
Swap:      8011772    1463456    6548316

四舍五入变得有问题,因此我相信procps的实现通过不提供此功能避免了该问题。
htop
可以很好地显示总内存使用情况。

atop
我认为是查看内存的更好工具。

nmon
另一个有用的工具是nmon,用于查看系统性能。


评论


top -M在RHEL6中为我工作

–安东尼·阿纳尼奇(Anthony Ananich)
13年12月19日在21:58

@AnthonyAnanich-我对此进行了更多研究。 CentOS 5.4的最高版本“ procps版本3.2.8”具有-M开关CentOS 5.8,也具有此开关“ procps版本3.2.7”。但是Fedora 19具有“ procps-ng版本3.3.8”,它不支持-M开关。

–slm♦
2013年12月19日在22:07



@AnthonyAnanich-在有关procps与procps-ng的答案中添加了详细信息。

–slm♦
13年12月19日在22:14

好答案,谢谢你,@ slm。我什至不知道三个答案中哪个是最好的。不会奖励任何人,我想让其他人决定。

–安东尼·阿纳尼奇(Anthony Ananich)
2014年1月22日,11:11

@AnthonyAnanich-NP。如果您认为答案是Q 100%,则应该考虑选择一个。接受A很重要,因为它会向您的Q传递的其他社区发出信号,即OP认为您A回答或解决了您的特定问题。如果其他A出色,它们也会受到紫外线的伤害。不接受一个,基本上是一个信号,表明您作为OP仍然感到您的Q回答不充分。当以后看到您的Q时,被接受的A也将定位为第一个A。

–slm♦
2014年1月22日12:59



#5 楼

您可以按以下键:



e-更改摘要显示上的比例因子

Shift + e-更改比例影响任务的因素

Shift + w-保存当前设置


评论


e和shift-e至少在我的系统上是相反的...

– fifaltra
16年8月26日在9:45

不知道Shift + w,保存我的配置的好技巧:)

–非常
17 Mar 9 '17 at 18:27



这是我的情况下唯一正确的可行答案!

– Mojtaba Rezaeian
19/12/9在9:19

#6 楼

因此,快速的答案是:根据您的Linux发行版,尝试以下一种方法:

top -M


OR,或在开始top之后,键入大写字母E(然后用W编写配置)。 br />
其中一个应该对几乎每个人都有效(当然,除了Solaris,在这里您很幸运地拥有最高的水平)。

奖金提示:每次启动时在新安装的顶级实例上,键入ExyzW以保存颜色,突出显示和单位-真是舒心!

评论


所有这些信息已经发布。

–斯科特
16年2月9日在1:09

#7 楼

您可以使用命令行选项E来指定内存扩展,例如以GB为单位:

$ top -E g


从顶部帮助中:

-E  :Extend-Memory-Scaling as:  -E  k | m | g | t | p | e
     Instructs top to force summary area memory to be scaled as:
         k - kibibytes
         m - mebibytes
         g - gibibytes
         t - tebibytes
         p - pebibytes
         e - exbibytes
     Later this can be changed with the `E' command toggle.


操作系统:Ubuntu 20.04

#8 楼

在RHEL7
顶部
shift + e或CspsLK开启。您需要“ E”大写字母。

您将获得MiB,Gib,TiB,PiB,EiB。您可以访问所有这些内容。

还可以隐藏应该在rpm基本系统上安装的命令。

,谢谢。
Sagar Dalvi