如何在顶部以兆字节显示meminfo?


184

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

顶部,内存统计数据全部缩放到Kb

这是在Mac OS X中的外观:

顶部,内存统计数据扩展到Mb和Gb

有没有办法在Linux中以兆字节,千兆字节和兆字节的顶部显示meminfo?


6
显然,有些帖子说在Redhat Linux中,您可以做一些事情,例如top -M以MB显示使用情况。如果只想监视内存使用情况,则可以使用,而不要使用htop。不确定其他任何选择。
巴伦2013年

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

1
手册页内置帮助。
casey 2013年

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

5
一旦您跳入热门游戏,E直到它显示了您正在寻找的内存累积量,然后点击W以将该配置写入磁盘。
Trevor Norris

Answers:


205

在顶部时,键入大写字母“ E”会在总内存信息中的不同内存单元(kb,mb,gb等)之间循环:

该图显示了以GiB为单位的顶部常规内存显示。

小写的“ e”执行相同的单独处理行:

该图在顶部显示了内存在MiB中显示的进程

从联机帮助页:

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


7
在RHEL中对我不起作用
Anthony Ananich 2014年

4
在Ubuntu 14.04欢呼声中工作。
tjjjohnson

在fedora 20
sivann 2014年

5
@AnthonyAnanich:在RHEL 7中对我
有用吗?

3
<未来的时间机器>我发现PB的默认单位严重不足且无济于事。我总是<来自未来/时间机器>最终不得不按E至少一次设置顶部艾字节为单位。
特雷弗博伊德史密斯

69

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

-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字节)。

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

顶部,以“ M”显示存储单元


23
+1,但在Ubuntu中签入,其说法无效。在Ubuntu中可以吗?
rɑːdʒɑ

我不知道,@ richardparker
Anthony Ananich

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

4
那模糊还不够模糊,安东尼奥。
Evgeni Sergeev

2
适用于RHEL 6(按'E'作为最高注释)
Molten Ice

48

您也可以使用htop。比酷得多top

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

htop屏幕截图

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

具有更好颜色的htop屏幕截图


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

2
@jlliagre情人的眼神。
乔纳森·科马尔

@ macmadness86添加了备用屏幕截图
jlliagre

1
fyi,htop带有其他颜色的shemes,您可以通过设置进行访问F2
米格尔·莫塔

我使用,alias top='htop --no-color'所以我可以输入'top'并获得合理的top替代品,而无需使用可怕的配色方案。
本杰明

35

top -M据我所知,它不适用于任何Fedora,Debian或Ubuntu发行版。我只是试过了,它不在procps-ng提供的包中top。的实现有很多,top因此需要特别注意它们的使用。

通常,最好free与切换配合使用,以在Linux上释放可用的内存量。

procps与procps-ng

您可能会注意到,在CentOS 5和6以及RHEL 5和6上top -M似乎可以正常工作。这是因为这些发行版附带的原始版本procps。该项目是分叉的,现在有另一个项目procps-ng

有关Fedora项目页面上为什么会有分叉的一些详细信息。

摘抄

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

很明显,procps-ngDebian,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-ng的实现top

$ 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的ss

在顶上

我认为这是查看记忆的更好工具。

   顶的ss

纳米

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

   nmon的ss


1
top -M在RHEL6中为我工作
Anthony Ananich 2013年

2
@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

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

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

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


6

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

top -M

或者,在开始top之后,键入大写字母E(然后输入W以写配置)。

其中之一应该适用于几乎所有人(当然,Solaris除外,您很幸运能拥有最高的水平)。

额外提示:每次您在新安装中启动顶级实例时,键入ExyzW即可保存颜色,突出显示和单位- 真是一件轻松的事!


5
所有这些信息已经发布。
斯科特,

0

在RHEL7顶部移位+ e或CspsLK ON。您需要“ E”大写字母。

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

另外,您也可以选择应停止运行并在rpm基本系统上安装的htop命令。

谢谢。萨加尔·达尔维(Sagar Dalvi)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.