多少内存安装并运行在你的Linux系统中使用?

有几个命令报告Linux系统上安装和使用了多少内存。根据您使用的命令,您可以被大量的细节所困扰,也可以得到快速而简单的答案。

有很多方法可以获得关于安装在Linux系统上的内存的信息,并查看有多少内存正在使用。一些命令提供了大量的细节,而另一些命令提供了简洁但不一定易于理解的答案。在这篇文章中,我们将介绍一些更有用的检查内存及其用法的工具。

在我们进入的细节,但是,让我们回顾一些基础知识。物理内存和虚拟内存是不一样的。后者包括被配置为用作交换的磁盘空间。交换可包括这个用法,或者创建新分区时,可能是不实际的创建添加到可用的交换空间的文件预留分区。一些Linux命令上都提供了信息。

Swap通过提供磁盘空间来扩展内存,这些磁盘空间可用于存放在物理内存满时移动到磁盘的非活动页面。

一个文件,该文件在内存管理上发挥了作用/proc/kcore。这个文件看起来像一个正常的(虽然非常大)文件,但它并没有在所有占用的磁盘空间。相反,它是像所有在/ proc文件的虚拟文件。

$ ls -l /proc/kcore -r-。1根140737477881856 1月28日12:59 /proc/kcore

有趣的是,下面所查询的两个系统确实如此具有的存储器安装在同一量,然而的的/ proc / KCORE尺寸上都相同。第一这两个系统的具有4 GB的安装存储器;第二个有6 GB。

system1$ ls -l /proc/kcore -r——。系统2$ ls -l /proc/kcore -r- 1 root root 140737477881856 Feb 5 13:00 /proc/kcore

声称该文件的大小表示可用虚拟内存量说明(或许再加上4K)不抱多大的重量。这个数字将表明在这些系统上的虚拟内存是128兆兆字节!这个数字似乎不是代表了多少内存64位系统可能能够解决的 - 是如何没有多少可用的系统上。什么128 TB的这个数字,再加上4K计算看起来就像是相当容易使命令行:

$ expr的1024 \ 1024 * \ * 1024 \ 1024 * \ * 128 140737488355328 $ expr的1024 \ 1024 * \ * 1024 \ 1024 * \ * 128 + 4096 140737488359424

对于检查内存另一个和更人性化的命令是自由命令。它可以让你对内存的易于理解的报告。

$ free total使用免费共享buff/cache可用Mem: 6102476 812244 4090752 13112 1199480 4984140 Swap: 2097148 0 2097148

- g选项,免费的报告在千兆字节的值。

$免费-g总使用免费共享的buff /高速缓存中可用号负责:5 0 3 0 1 4交换:1 0 1

- t选项,free显示的值与没有选项时相同(不要将-t与tb混淆!),但是在输出的底部添加了一行total。

$免费-t总使用免费共享的buff /缓存提供纪念品:6102476 812408 4090612 13112 1199456 4983984掉期:2097148 0 2097148总计:8199624 812408 6187760

当然,您可以选择使用这两个选项。

$ free -tg total使用了免费共享buff/cache可用的Mem: 5 0 3 0 1 4 Swap: 1 0 1 total: 7 0 5

如果您试图回答“这个系统上安装了多少RAM”这个问题,那么您可能会对这个报告感到失望。This is the same system shown in the example above that was described as having 6GB of RAM. That doesn't mean this report is wrong, but that it's the system's view of the memory it has at its disposal.

free命令还提供每X秒更新一次显示的选项(在下面的示例中为10秒)。

$免费-s 10总使用免费共享的buff /高速缓存中可用号负责:6102476 812280 4090704 13112 1199492 4984108交换:2097148 0 2097148总使用免费共享的buff /高速缓存中可用号负责:6102476 812260 4090712 13112 1199504 4984120交换:2097148 0 2097148

- l中,自由命令提供高和低内存使用情况。

$免费-l总使用免费共享的buff /缓存提供纪念品:6102476 812376 4090588 13112 1199512 4984000低:6102476 2011888 4090588高:0 0 0互换:2097148 0 2097148

查看内存的另一个选项是的/ proc / meminfo中文件。像的/ proc / KCORE,这是一个虚拟的文件和一个,让出多少内存安装,免费的,可有用的报表。显然,免费的,可并不代表同样的事情。MemFree似乎代表未使用的RAM。MemAvailable是多少内存可用于启动新应用的估计。

$头-3的/ proc / meminfo中MemTotal:6102476 KB MemFree:4090596 KB MemAvailable:4984040 KB

如果你只想看到总内存,可使用下列命令之一:

$ awk '/MemTotal/ {print $2}' /proc/meminfo 6102476 $ grep MemTotal/ proc/meminfo MemTotal: 6102476kb

DirectMap项目打破存储的信息进行分类。

$ grep DirectMap /proc/meminfo DirectMap4k: 213568 kB DirectMap2M: 6076416 kB

DirectMap4k表示被映射到标准4K页面的存储器的量,而DirectMap2M示出的存储器的量被映射到2MB页面。

getconf命令将提供比我们大多数人想要考虑的更多的信息。

美元getconf——|更多LINK_MAX 65000 _POSIX_LINK_MAX 65000 MAX_CANON 255 _POSIX_MAX_CANON 255 MAX_INPUT 255 _POSIX_MAX_INPUT 255 NAME_MAX长的255 _POSIX_NAME_MAX 255 PATH_MAX 4096 _POSIX_PATH_MAX 4096 PIPE_BUF 4096 _POSIX_PIPE_BUF 4096 SOCK_MAXBUF _POSIX_ASYNC_IO _POSIX_CHOWN_RESTRICTED _POSIX_NO_TRUNC 1 _POSIX_PRIO_IO _POSIX_SYNC_IO _POSIX_VDISABLE 0 ARG_MAX 2097152 ATEXIT_MAX 2147483647 CHAR_BIT 8 CHAR_MAX 127——更多

使用如下所示的命令将输出缩减为特定的内容,您将获得由上面的一些命令提供的相同类型的信息。

$ getconf -a |grep的页|AWK 'BEGIN {总= 1} {如果(NR == 1 || NR == 3)总* = $ NF} END {打印总/ 1024" KB“}' 6102476 KB

该命令计算存储器通过在输出的第一行和最后一行像这样的值乘以:

PAGESIZE 4096 <== _AVPHYS_PAGES 1022511 _PHYS_PAGES 1525619 <==

单独计算,我们可以看到这个值是如何得到的。

$ expr 4096 \* 1525619 / 1024 6102476

显然,这是一个命令,值得把它变成一个别名!

具有非常易消化输出的另一个命令是最佳。在top输出的前五行中,您将看到一些显示如何使用内存的数字。

$ top top - 15:36:38上升8天,2:37,2个用户,负载平均:0.00,0.00,0.00任务:266个总数,1运行,265睡眠,0停止,0僵尸%Cpu(s): 0.2 us, 0.4 sy, 0.0 ni, 99.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem:3244.8总计377.9免费,使用1826.2,1040.7浅黄色/高速缓存MiB互换:3536.0总计3535.7免费,0.3使用。1126.1无济于事纪念品

最后一个命令,将回答这个问题“那么,多少RAM,此系统上安装?”在一个简洁时尚:

$ sudo dmidecode -t 17 | grep "大小。* MB”| awk{年代+ = $ 2}{打印s / 1024 GB”}结束的6 GB

根据您希望查看的详细程度,Linux系统提供了许多选项,可以查看系统上安装了多少内存,使用和可用的内存有多少。

加入网络世界社区吧有个足球雷竞技app脸谱网LinkedIn对大家最关心的话题发表评论。
有关:

版权所有©2019Raybet2

工资调查:结果是