当前位置:首页 > Linux > 正文

如何查看linux内存大小

Linux系统中,可通过free -h、cat /proc/meminfo或sudo dmidecode -t memory等命令查看内存大小

Linux系统中,有多种方法可以查看内存大小,以下是几种常用的方法及其详细步骤:

使用free命令

free命令是最常用的查看内存信息的工具之一,它可以显示系统的总内存、已用内存、空闲内存以及交换分区的使用情况。

基本用法

free -h
  • -h选项表示以人类可读的格式(如GB、MB)显示内存信息。

输出示例

              total        used        free      shared  buff/cache   available
Mem:           7.7G        2.4G        1.1G        1.1G        4.2G        4.3G
Swap:          2.0G          0B        2.0G
  • total:总内存大小。
  • used:已使用的内存大小。
  • free:空闲的内存大小。
  • shared:共享内存大小。
  • buff/cache:缓冲区和缓存占用的内存大小。
  • available:实际可用的内存大小,考虑了缓冲区和缓存的影响。

使用cat /proc/meminfo命令

/proc/meminfo文件包含了系统内存的详细信息,可以通过cat命令查看。

基本用法

cat /proc/meminfo

输出示例

MemTotal:        8051920 kB
MemFree:         1172128 kB
MemAvailable:    4458368 kB
Buffers:          125528 kB
Cached:          4023852 kB
SwapCached:            0 kB
Active:          2927372 kB
Inactive:        2965436 kB
  • MemTotal:总内存大小,单位为kB。
  • MemFree:空闲内存大小。
  • MemAvailable:实际可用的内存大小。
  • Buffers:缓冲区占用的内存大小。
  • Cached:缓存占用的内存大小。
  • SwapCached:交换分区缓存占用的内存大小。
  • Active:活动内存大小。
  • Inactive:非活动内存大小。

使用dmidecode命令

dmidecode命令可以显示系统的硬件信息,包括内存模块的详细信息。

如何查看linux内存大小  第1张

基本用法

sudo dmidecode -t memory
  • -t memory选项表示只显示内存相关的信息。

输出示例

# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.
Handle 0x1000, DMI type 16, 23 bytes
Physical Memory Array
    Location: System Board Or Motherboard
    Use: System Memory
    Error Correction Type: None
    Maximum Capacity: 32 GB
    Number Of Devices: 4
Handle 0x1100, DMI type 17, 34 bytes
Memory Device
    Array Handle: 0x1000
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 8192 MB
    Form Factor: DIMM
    Set: None
    Locator: ChannelA-DIMM0
    Bank Locator: BANK 0
    Type: DDR3
    Type Detail: Synchronous
    Speed: 1600 MT/s
    Manufacturer: Kingston
    Serial Number: 123456789
    Part Number: KHX1600C9D3K2/8GX
    Rank: 2
    Configured Clock Speed: 1600 MT/s
  • Maximum Capacity:最大支持的内存容量。
  • Size:每个内存模块的大小。
  • Type:内存类型(如DDR3)。
  • Speed:内存频率。

使用top命令

top命令可以实时显示系统的进程和资源使用情况,包括内存使用情况。

基本用法

top
  • top界面中,按下Shift + M键可以按内存使用量排序。
  • 第二行显示了总内存大小、已用内存和可用内存。

输出示例

top 10:00:00 up  1:00,  2 users,  load average: 0.00, 0.01, 0.05
Tasks: 100 total,   1 running,  99 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  8192000 total,  2048000 used,  5734000 free,   123456 buffers
KiB Swap:  2048000 total,        0 used,  2048000 free.   123456 cached Mem
  • KiB Mem:总内存大小。
  • used:已用内存大小。
  • free:空闲内存大小。

使用lshw命令

lshw命令可以显示系统的硬件配置信息,包括内存信息。

基本用法

sudo lshw -C memory
  • -C memory选项表示只显示内存相关的信息。

输出示例

-bank:0
    description: SODIMM DDR4 Synchrounous 2400 MHz (0.5 ns)
    product: XYZ Corp.
    vendor: XYZ Corp.
    physical id: 0
    serial: XYZ123456789
    slot: ChannelA-DIMM0
    size: 8GiB
    width: 64 bits
    clock: 2400MHz (0.5ns)
-bank:1
    description: SODIMM DDR4 Synchrounous 2400 MHz (0.5 ns)
    product: XYZ Corp.
    vendor: XYZ Corp.
    physical id: 1
    serial: XYZ987654321
    slot: ChannelA-DIMM1
    size: 8GiB
    width: 64 bits
    clock: 2400MHz (0.5ns)
  • size:每个内存模块的大小。
  • description:内存模块的描述信息。

使用vmstat命令

vmstat命令可以显示系统的虚拟内存统计信息,包括内存使用情况。

基本用法

vmstat -s
  • -s选项表示以简洁的格式显示统计信息。

输出示例

       8192000 K total memory
       2048000 K used memory
       5734000 K active memory
        123456 K inactive memory
       123456 K free memory
       2048000 K total swap
                0 K used swap
       2048000 K free swap
  • total memory:总内存大小。
  • used memory:已用内存大小。
  • free memory:空闲内存大小。

使用/var/log/dmesg文件

dmesg命令可以查看系统启动过程中的信息,包括内存大小的信息。

基本用法

dmesg | grep Memory
  • grep Memory用于过滤出与内存相关的信息。

输出示例

[    0.000000] Memory: 8192000K/16766464K available (123456K kernel code, 123456K reserved, 123456K data, 123456K init)
  • Memory:总内存大小和可用内存大小。

归纳表格

命令 描述 主要输出项
free -h 显示内存总量、使用量和空闲量 total, used, free, available
cat /proc/meminfo 显示详细的内存统计信息 MemTotal, MemFree, MemAvailable
dmidecode -t memory 显示内存模块的详细信息 Size, Type, Speed, Manufacturer
top 实时显示内存使用情况 total, used, free
lshw -C memory 显示内存硬件配置信息 size, description, clock
vmstat -s 显示虚拟内存统计信息 total memory, used memory, free memory
dmesg | grep Memory 查看系统启动时的内存信息 Memory

相关问答FAQs

Q1: 如何将内存大小从KB转换为GB?
A1: 你可以使用以下公式将内存大小从KB转换为GB:内存大小(GB)= 内存大小(KB)/ 1024 / 1024,如果内存大小为8192000KB,则转换为GB为8GB。

Q2: 为什么free命令显示的可用内存比实际物理内存少?
A2: free命令显示的可用内存是实际可用的物理内存减去缓冲区和缓存占用的内存,这是因为操作系统会将一部分内存用于缓冲区和缓存以提高系统性能,如果你需要查看实际的物理内存大小,可以查看/proc/meminfo文件中的`MemTotal

0