台式电脑

怎么样查看电脑的内存总量(17 种查看 Linux 物理内存的方法)

17 种查看 Linux 物理内存的方法

编译自:https://www.2daygeek.com/easy-ways-to-check-size-of-physical-memory-ram-in-linux/

作者:RamyaNuvvula

译者:MjSeven

大多数系统管理员在遇到性能问题时会检查CPU和内存利用率。Linux中有许多实用程序可以用于检查物理内存。这些命令有助于我们检查系统中存在的物理内存,还允许用户检查各种方面的内存利用率。

我们大多数人只知道很少的命令,在本文中我们试图包含所有可能的命令。

你可能会想,为什么我想知道所有这些命令,而不是知道一些特定的和例行的命令呢。

不要觉得没用或对此有负面的看法,因为每个人都有不同的需求和看法,所以,对于那些在寻找其它目的的人,这对于他们非常有帮助。

什么是RAM

计算机内存是能够临时或永久存储信息的物理设备。RAM代表随机存取存储器,它是一种易失性存储器,用于存储操作系统,软件和硬件使用的信息。

有两种类型的内存可供选择:

主存辅助内存

主存是计算机的主存储器。CPU可以直接读取或写入此内存。它固定在电脑的主板上。

RAM:随机存取存储器是临时存储。关闭计算机后,此信息将消失。ROM:只读存储器是永久存储,即使系统关闭也能保存数据。方法-1:使用free命令

free显示系统中空闲和已用的物理内存和交换内存的总量,以及内核使用的缓冲区和缓存。它通过解析/proc/meminfo来收集信息。

建议阅读:free–在Linux系统中检查内存使用情况统计(空闲和已用)的标准命令

$free-m

totalusedfreesharedbuff/cacheavailable

Mem:199316818281228153

Swap:12689121311475

$free-g

totalusedfreesharedbuff/cacheavailable

Mem:110000

Swap:12111

方法-2:使用/proc/meminfo文件

/proc/meminfo是一个虚拟文本文件,它包含有关系统RAM使用情况的大量有价值的信息。

它报告系统上的空闲和已用内存(物理和交换)的数量。

$grepMemTotal/proc/meminfo

MemTotal:2041396kB

$grepMemTotal/proc/meminfo|awk'{print$2/1024}'

1993.55

$grepMemTotal/proc/meminfo|awk'{print$2/1024/1024}'

1.94683

方法-3:使用top命令

top命令是Linux中监视实时系统进程的基本命令之一。它显示系统信息和运行的进程信息,如正常运行时间、平均负载、正在运行的任务、登录的用户数、CPU数量和CPU利用率,以及内存和交换信息。运行top命令,然后按下E来使内存利用率以MB为单位显示。

建议阅读:TOP命令示例监视服务器性能

$top

top-14:38:36up1:59,1user,loadaverage:1.83,1.60,1.52

Tasks:223total,2running,221sleeping,0stopped,0zombie

%Cpu(s):48.6us,11.2sy,0.0ni,39.3id,0.3wa,0.0hi,0.5si,0.0st

MiBMem:1993.551total,94.184free,1647.367used,252.000buff/cache

MiBSwap:12689.58+total,11196.83+free,1492.750used.306.465availMem

PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND

9908daygeek200297144064932439700S55.831.811:45.74WebContent

21942daygeek200201376030870069272S35.015.14:13.75WebContent

4782daygeek200368711622733639156R14.511.116:47.45gnome-shell

方法-4:使用vmstat命令

vmstat是一个漂亮的标准工具,它报告Linux系统的虚拟内存统计信息。vmstat报告有关进程、内存、分页、块IO、陷阱和CPU活动的信息。它有助于Linux管理员在故障检修时识别系统瓶颈。

建议阅读:vmstat–一个报告虚拟内存统计信息的标准且漂亮的工具

$vmstat-s|grep"totalmemory"

2041396Ktotalmemory

$vmstat-s-SM|egrep-ie'totalmemory'

1993Mtotalmemory

$vmstat-s|awk'{print$1/1024/1024}'|head-1

1.94683

方法-5:使用nmon命令

nmon是另一个很棒的工具,用于在Linux终端上监视各种系统资源,如CPU、内存、网络、磁盘、文件系统、NFS、top进程、Power的微分区和资源(Linux版本和处理器)。

只需按下m键,即可查看内存利用率统计数据(缓存、活动、非活动、缓冲、空闲,以MB和百分比为单位)。

建议阅读:nmon–Linux中一个监视系统资源的漂亮的工具

┌nmon─14g──────[Hforhelp]───Hostname=2daygeek──Refresh=2secs───07:24.44─────────────────┐

│MemoryStats─────────────────────────────────────────────────────────────────────────────│

│RAMHighLowSwapPageSize=4KB│

│TotalMB32079.5-0.0-0.020479.0│

│FreeMB11205.0-0.0-0.020479.0│

│FreePercent34.90.00.00.0%│

│MBMBMB│

│Cached=19763.4Active=9617.7│

│Buffers=172.5Swapcached=0.0Inactive=10339.6│

│Dirty=0.0Writeback=0.0Mapped=11.0│

│Slab=636.6Commit_AS=118.2PageTables=3.5│

│───────────────────────────────────────────────────────────────────────────────────────────│

││

││

││

││

││

││

└───────────────────────────────────────────────────────────────────────────────────────────┘

方法-6:使用dmidecode命令

dmidecode是一个读取计算机DMI表内容的工具,它以人类可读的格式显示系统硬件信息。(DMI意即桌面管理接口,也有人说是读取的是SMBIOS——系统管理BIOS)

此表包含系统硬件组件的描述,以及其它有用信息,如序列号、制造商信息、发布日期和BIOS修改等。

建议阅读:Dmidecode–获取Linux系统硬件信息的简便方法

#dmidecode-tmemory|grepSize:

Size:8192MB

Size:NoModuleInstalled

Size:NoModuleInstalled

Size:8192MB

Size:NoModuleInstalled

Size:NoModuleInstalled

Size:NoModuleInstalled

Size:NoModuleInstalled

Size:NoModuleInstalled

Size:NoModuleInstalled

Size:NoModuleInstalled

Size:NoModuleInstalled

Size:8192MB

Size:NoModuleInstalled

Size:NoModuleInstalled

Size:8192MB

Size:NoModuleInstalled

Size:NoModuleInstalled

Size:NoModuleInstalled

Size:NoModuleInstalled

Size:NoModuleInstalled

Size:NoModuleInstalled

Size:NoModuleInstalled

Size:NoModuleInstalled

只打印已安装的RAM模块。

#dmidecode-tmemory|grepSize:|grep-v"NoModuleInstalled"

Size:8192MB

Size:8192MB

Size:8192MB

Size:8192MB

汇总所有已安装的RAM模块。

#dmidecode-tmemory|grepSize:|grep-v"NoModuleInstalled"|awk'{sum+=$2}END{printsum}'

32768

方法-7:使用hwinfo命令

hwinfo意即硬件信息,它是另一个很棒的实用工具,用于探测系统中存在的硬件,并以人类可读的格式显示有关各种硬件组件的详细信息。

它报告有关CPU、RAM、键盘、鼠标、图形卡、声音、存储、网络接口、磁盘、分区、BIOS和网桥等的信息。

建议阅读:hwinfo(硬件信息)–一个在Linux系统上检测系统硬件信息的好工具

$hwinfo--memory

01:None00.0:10102MainMemory

[Createdatmemory.74]

UniqueID:rdCR.CxwsZFjVASF

HardwareClass:memory

Model:"MainMemory"

MemoryRange:0x00000000-0x7a4abfff(rw)

MemorySize:1GB+896MB

ConfigStatus:cfg=new,avail=yes,need=no,active=unknown

方法-8:使用lshw命令

lshw(代表HardwareLister)是一个小巧的工具,可以生成机器上各种硬件组件的详细报告,如内存配置、固件版本、主板配置、CPU版本和速度、缓存配置、USB、网卡、显卡、多媒体、打印机、总线速度等。

它通过读取/proc目录和DMI表中的各种文件来生成硬件信息。

建议阅读:LSHW(HardwareLister)–一个在Linux上获取硬件信息的好工具

$sudolshw-short-classmemory

[sudo]passwordfordaygeek:

H/WpathDeviceClassDescription

==================================================

/0/0memory128KiBBIOS

/0/1memory1993MiBSystemmemory

方法-9:使用inxi命令

inxi是一个很棒的工具,它可以检查Linux上的硬件信息,并提供了大量的选项来获取Linux系统上的所有硬件信息,这些特性是我在Linux上的其它工具中从未发现的。它是从locsmif编写的古老的但至今看来都异常灵活的infobash演化而来的。

inxi是一个脚本,它可以快速显示系统硬件、CPU、驱动程序、Xorg、桌面、内核、GCC版本、进程、RAM使用情况以及各种其它有用的信息,还可以用于论坛技术支持和调试工具。

建议阅读:inxi–一个检查Linux上硬件信息的好工具

$inxi-F|grep"Memory"

Info:Processes:234Uptime:3:10Memory:1497.3/1993.6MBClient:Shell(bash)inxi:2.3.37

方法-10:使用screenfetch命令

screenfetch是一个bash脚本。它将自动检测你的发行版,并在右侧显示该发行版标识的ASCII艺术版本和一些有价值的信息。

建议阅读:ScreenFetch–以ASCII艺术标志在终端显示Linux系统信息

$screenfetch

./+o+-daygeek@ubuntu

yyyyy--yyyyyy+OS:Ubuntu17.10artful

://+//////-yyyyyyoKernel:x86_64Linux4.13.0-37-generic

.++.:/++++++/-.+sss/`Uptime:44m

.:++o:/++++++++/:--:/-Packages:1831

o:+o+:++.`..```.-/oo+++++/Shell:bash4.4.12

.:+o:+o/.`+sssoo+/Resolution:1920x955

.++/+:+oo+o:`/sssooo.DE:GNOME

/+++//+:`oo+o/::--:.WM:GNOMEShell

\+/+o+++`o++o++////.WMTheme:Adwaita

.++.o+++oo+:`/dddhhh.GTKTheme:Azure[GTK2/3]

.+.o+oo:.`oddhhhh+IconTheme:Papirus-Dark

\+.++o+o``-````.:ohdhhhhh+Font:Ubuntu11

`:o+++`ohhhhhhhhyo++os:CPU:IntelCorei7-6700HQ@2x2.592GHz

.o:`.syhhhhhhh/.oo++o`GPU:llvmpipe(LLVM5.0,256bits)

/osyyyyyyo++ooo+++/RAM:1521MiB/1993MiB

`````+oo+++o\:

`oo++.

方法-11:使用neofetch命令

neofetch是一个跨平台且易于使用的命令行(CLI)脚本,它收集你的Linux系统信息,并将其作为一张图片显示在终端上,也可以是你的发行版徽标,或者是你选择的任何ascii艺术。

建议阅读:Neofetch–以ASCII分发标志来显示Linux系统信息

$neofetch

.-/+oossssoo+/-.daygeek@ubuntu

`:+ssssssssssssssssss+:`--------------

-+ssssssssssssssssssyyssss+-OS:Ubuntu17.10x86_64

.ossssssssssssssssssdMMMNysssso.Host:VirtualBox1.2

/ssssssssssshdmmNNmmyNMMMMhssssss/Kernel:4.13.0-37-generic

+ssssssssshmydMMMMMMMNddddyssssssss+Uptime:47mins

/sssssssshNMMMyhhyyyyhmNMMMNhssssssss/Packages:1832

.ssssssssdMMMNhsssssssssshNMMMdssssssss.Shell:bash4.4.12

+sssshhhyNMMNyssssssssssssyNMMMysssssss+Resolution:1920x955

ossyNMMMNyMMhsssssssssssssshmmmhsssssssoDE:ubuntu:GNOME

ossyNMMMNyMMhsssssssssssssshmmmhsssssssoWM:GNOMEShell

+sssshhhyNMMNyssssssssssssyNMMMysssssss+WMTheme:Adwaita

.ssssssssdMMMNhsssssssssshNMMMdssssssss.Theme:Azure[GTK3]

/sssssssshNMMMyhhyyyyhdNMMMNhssssssss/Icons:Papirus-Dark[GTK3]

+sssssssssdmydMMMMMMMMddddyssssssss+Terminal:gnome-terminal

/ssssssssssshdmNNNNmyNMMMMhssssss/CPU:Inteli7-6700HQ(2)@2.591GHz

.ossssssssssssssssssdMMMNysssso.GPU:VirtualBoxGraphicsAdapter

-+sssssssssssssssssyyyssss+-Memory:1620MiB/1993MiB

`:+ssssssssssssssssss+:`

.-/+oossssoo+/-.

方法-12:使用dmesg命令

dmesg(代表显示消息或驱动消息)是大多数类Unix操作系统上的命令,用于打印内核的消息缓冲区。

$dmesg|grep"Memory"

[0.000000]Memory:1985916K/2096696Kavailable(12300Kkernelcode,2482Krwdata,4000Krodata,2372Kinit,2368Kbss,110780Kreserved,0Kcma-reserved)

[0.012044]x86/mm:Memoryblocksize:128MB

方法-13:使用atop命令

atop是一个用于Linux的ASCII全屏系统性能监视工具,它能报告所有服务器进程的活动(即使进程在间隔期间已经完成)。

它记录系统和进程活动以进行长期分析(默认情况下,日志文件保存28天),通过使用颜色等来突出显示过载的系统资源。它结合可选的内核模块netatop显示每个进程或线程的网络活动。

建议阅读:Atop–实时监控系统性能,资源,进程和检查资源利用历史

$atop-m

ATOP-ubuntu2018/03/3119:34:08-------------10selapsed

PRC|sys0.47s|user2.75s|||#proc219|#trun1|#tslpi802|#tslpu0|#zombie0|clones7|||#exit4|

CPU|sys7%|user22%|irq0%|||idle170%|wait0%||steal0%|guest0%||curf2.59GHz|curscal?%|

cpu|sys3%|user11%|irq0%|||idle85%|cpu001w0%||steal0%|guest0%||curf2.59GHz|curscal?%|

cpu|sys4%|user11%|irq0%|||idle85%|cpu000w0%||steal0%|guest0%||curf2.59GHz|curscal?%|

CPL|avg11.98||avg53.56|avg153.20|||csw14894||intr6610|||numcpu2||

MEM|tot1.9G|free101.7M|cache244.2M|dirty0.2M|buff6.9M|slab92.9M|slrec35.6M|shmem97.8M|shrss21.0M|shswp3.2M|vmbal0.0M|hptot0.0M|hpuse0.0M|

SWP|tot12.4G|free11.6G|||||||||vmcom7.9G||vmlim13.4G|

PAG|scan0|steal0||stall0|||||||swin3||swout0|

DSK|sda|busy0%||read114|write37|KiB/r21|KiB/w6||MBr/s0.2|MBw/s0.0|avq6.50||avio0.26ms|

NET|transport|tcpi11|tcpo17|udpi4|udpo8|tcpao3|tcppo0||tcprs3|tcpie0|tcpor0|udpnp0|udpie0|

NET|network|ipi20||ipo33|ipfrw0|deliv20|||||icmpi5||icmpo0|

NET|enp0s30%|pcki11|pcko28|sp1000Mbps|si1Kbps|so1Kbps||coll0|mlti0|erri0|erro0|drpi0|drpo0|

NET|lo----|pcki9|pcko9|sp0Mbps|si0Kbps|so0Kbps||coll0|mlti0|erri0|erro0|drpi0|drpo0|

PIDTIDMINFLTMAJFLTVSTEXTVSLIBSVDATAVSTACKVSIZERSIZEPSIZEVGROWRGROWSWAPSZRUIDEUIDMEMCMD1/1

2536-9410188K127.3M551.2M144K2.3G281.2M0K0K344K6556Kdaygeekdaygeek14%WebContent

2464-750188K187.7M680.6M132K2.3G226.6M0K0K212K42088Kdaygeekdaygeek11%firefox

2039-4199616K163.6M423.0M132K3.5G220.2M0K0K2936K109.6Mdaygeekdaygeek11%gnome-shell

10822-104K16680K377.0M132K3.4G193.4M0K0K0K0Krootroot10%java

方法-14:使用htop命令

htop是由Hisham用ncurses库开发的用于Linux的交互式进程查看器。与top命令相比,htop有许多特性和选项。

建议阅读:使用Htop命令监视系统资源

$htop

1[|||||||||||||13.0%]Tasks:152,587thr;1running

2[|||||||||||||||||||||||||25.0%]Loadaverage:0.912.032.66

Mem[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||1.66G/1.95G]Uptime:01:14:53

Swp[||||||782M/12.4G]

PIDUSERPRINIVIRTRESSHRSCPU%MEM%TIME+Command

2039daygeek2003541M214M46728S36.610.822:36.77/usr/bin/gnome-shell

2045daygeek2003541M214M46728S10.310.83:02.92/usr/bin/gnome-shell

2046daygeek2003541M214M46728S8.310.83:04.96/usr/bin/gnome-shell

6080daygeek200807M3722824352S2.11.80:11.99/usr/lib/gnome-terminal/gnome-terminal-server

2880daygeek2002205M164M17048S2.18.37:16.50/usr/lib/firefox/firefox-contentproc-childID6-isForBrowser-intPrefs6:50|7:-1|19:0|34:1000|42:20|43:5|44:10|51:0|57:128|58:10000|63:0|65:400|66

6125daygeek2001916M159M92352S2.18.02:09.14/usr/lib/firefox/firefox-contentproc-childID7-isForBrowser-intPrefs6:50|7:-1|19:0|34:1000|42:20|43:5|44:10|51:0|57:128|58:10000|63:0|65:400|66

2536daygeek2002335M243M26792S2.112.26:25.77/usr/lib/firefox/firefox-contentproc-childID1-isForBrowser-intPrefs6:50|7:-1|19:0|34:1000|42:20|43:5|44:10|51:0|57:128|58:10000|63:0|65:400|66

2653daygeek2002237M185M20788S1.49.33:01.76/usr/lib/firefox/firefox-contentproc-childID4-isForBrowser-intPrefs6:50|7:-1|19:0|34:1000|42:20|43:5|44:10|51:0|57:128|58:10000|63:0|65:400|66

方法-15:使用corefreq实用程序

CoreFreq是为Intel64位处理器设计的CPU监控软件,支持的架构有Atom、Core2、Nehalem、SandyBridge和superior,AMD家族0F。

CoreFreq提供了一个框架来以高精确度检索CPU数据。

建议阅读:CoreFreq–一个用于Linux系统的强大的CPU监控工具

$./corefreq-cli-k

Linux:

|-Release[4.13.0-37-generic]

|-Version[#42-UbuntuSMPWedMar714:13:23UTC2018]

|-Machine[x86_64]

Memory:

|-TotalRAM2041396KB

|-SharedRAM99620KB

|-FreeRAM108428KB

|-BufferRAM8108KB

|-TotalHigh0KB

|-FreeHigh0KB

方法-16:使用glances命令

Glances是用Python编写的跨平台基于curses(LCTT译注:curses是一个Linux/Unix下的图形函数库)的系统监控工具。我们可以说它一应俱全,就像在最小的空间含有最大的信息。它使用psutil库从系统中获取信息。

Glances可以监视CPU、内存、负载、进程列表、网络接口、磁盘I/O、Raid、传感器、文件系统(和文件夹)、Docker、监视器、警报、系统信息、正常运行时间、快速预览(CPU、内存、负载)等。

建议阅读:Glances(一应俱全)–一个Linux的高级的实时系统性能监控工具

$glances

ubuntu(Ubuntu17.1064bit/Linux4.13.0-37-generic)-IP192.168.1.6/24Uptime:1:08:40

CPU[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||90.6%]CPU-90.6%nice:0.0%ctx_sw:4KMEM\78.4%active:942MSWAP-5.9%LOAD2-core

MEM[|||||||||||||||||||||||||||||||||||||||||||||||||||||||||78.0%]user:55.1%irq:0.0%inter:1797total:1.95Ginactive:562Mtotal:12.4G1min:4.35

SWAP[||||5.9%]system:32.4%iowait:1.8%sw_int:897used:1.53Gbuffers:14.8Mused:749M5min:4.38

怎么样查看电脑的内存总量(17 种查看 Linux 物理内存的方法)

idle:7.6%steal:0.0%free:431Mcached:273Mfree:11.7G15min:3.38

NETWORKRx/sTx/sTASKS211(735thr),4run,207slp,0othsortedautomaticallybymemory_percent,flatview

docker00b232b

enp0s312Kb4KbSystemd7Servicesloaded:197active:196failed:1

lo616b616b

_h478e48e0b232bCPU%MEM%VIRTRESPIDUSERNISTIME+R/sW/sCommand

63.818.92.33G377M2536daygeek0R5:57.7800/usr/lib/firefox/firefox-contentproc-childID1-isForBrowser-intPrefs6:50|7:-1|19:0|34:1000|42:20|43:5|44:10|51

DefaultGateway83ms78.510.93.46G217M2039daygeek0S21:07.4600/usr/bin/gnome-shell

8.510.12.32G201M2464daygeek0S8:45.6900/usr/lib/firefox/firefox-new-window

DISKI/OR/sW/s1.18.52.19G170M2653daygeek0S2:56.2900/usr/lib/firefox/firefox-contentproc-childID4-isForBrowser-intPrefs6:50|7:-1|19:0|34:1000|42:20|43:5|44:10|51

dm-0001.77.22.15G143M2880daygeek0S7:10.4600/usr/lib/firefox/firefox-contentproc-childID6-isForBrowser-intPrefs6:50|7:-1|19:0|34:1000|42:20|43:5|44:10|51

sda19.46M12K0.04.91.78G97.2M6125daygeek0S1:36.5700/usr/lib/firefox/firefox-contentproc-childID7-isForBrowser-intPrefs6:50|7:-1|19:0|34:1000|42:20|43:5|44:10|51

方法-17:使用Gnome系统监视器

Gnome系统监视器是一个管理正在运行的进程和监视系统资源的工具。它向你显示正在运行的程序以及耗费的处理器时间,内存和磁盘空间。

17 种查看 Linux 物理内存的方法

via:https://www.2daygeek.com/easy-ways-to-check-size-of-physical-memory-ram-in-linux/

作者:RamyaNuvvula译者:MjSeven校对:wxy

本文由LCTT原创编译,Linux中国荣誉推出

点击“了解更多”可访问文内链接

相关新闻

返回顶部