上一篇
如何查看linux内存大小
- Linux
- 2025-07-09
- 4
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
命令可以显示系统的硬件信息,包括内存模块的详细信息。
基本用法:
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