如何查找我的电脑有多少内存?

如何查找我电脑的内存大小?我正在使用Ubuntu 13.04操作系统。

对于许多解决方案来说,它只会告诉你操作系统可以“看到”多少RAM(例如,没有PAE的32位系统只能看到4GB)。 - Wilf
8个回答

如果您点击屏幕右上方的齿轮图标,然后点击“关于这台电脑”,RAM将显示在第二项下面,位于计算机名称之下。

编辑

如果您在终端运行sudo lshw -class memory,这将为您提供所有可用内存的详细信息。


6那将告诉你操作系统可以看到多少RAM。 - david6
5此外,要仅打印以 MiB 为单位的数量,请使用以下命令:lshw -C memory 2>/dev/null | grep -Po ' +size: \K.*' - kos

还有易于使用的命令来检查RAM:

free -lm

使用top命令本身或:
top | grep -i mem

类似于“top”,但稍微高级一些的是“htop”,但需要安装该软件包“sudo apt-get install htop”,然后运行:
htop

将在终端输出内存规模。
另外,vmstat也可以做到这一点。
vmstat -s -SM

总体来说

请记住 - 本帖中的许多解决方案只会显示操作系统检测到的内存量(例如,没有PAE的32位系统只能看到4GB)

使用dmidecode检测内存插槽和状态

假设您具有sudo权限,您可以使用dmidecode命令来检测内存插槽的数量以及当前插入的内存。

示例用法:

sudo dmidecode

甚至更好的是,只过滤与内存相关的信息。
sudo dmidecode -t 17

在我的情况下,输出为:
# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.

Handle 0x002F, DMI type 17, 34 bytes
Memory Device
    Array Handle: 0x002D
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 4096 MB
    Form Factor: DIMM
    Set: None
    Locator: ChannelA_Dimm1
    Bank Locator: ChannelA
    Type: DDR3
    Type Detail: Synchronous
    Speed: 1333 MHz
    Manufacturer: A-DATA                     
    Serial Number: 0000762C             
    Asset Tag: ChannelA_Dimm1_AssetTag
    Part Number: DDR3 1600G            
    Rank: 2
    Configured Clock Speed: 1333 MHz

Handle 0x0031, DMI type 17, 34 bytes
Memory Device
    Array Handle: 0x002D
    Error Information Handle: Not Provided
    Total Width: 72 bits
    Data Width: 64 bits
    Size: No Module Installed
    Form Factor: DIMM
    Set: None
    Locator: ChannelA_Dimm2
    Bank Locator: ChannelA
    Type: Unknown
    Type Detail: Synchronous
    Speed: Unknown
    Manufacturer: ChannelA_Dimm2_Manufacturer
    Serial Number: ChannelA_Dimm2_SerNum
    Asset Tag: ChannelA_Dimm2_AssetTag
    Part Number: ChannelA_Dimm2_PartNum
    Rank: Unknown
    Configured Clock Speed: Unknown

Handle 0x0033, DMI type 17, 34 bytes
Memory Device
    Array Handle: 0x002D
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 4096 MB
    Form Factor: DIMM
    Set: None
    Locator: ChannelB_Dimm1
    Bank Locator: ChannelB
    Type: DDR3
    Type Detail: Synchronous
    Speed: 1333 MHz
    Manufacturer: A-DATA                     
    Serial Number: 000028C3             
    Asset Tag: ChannelB_Dimm1_AssetTag
    Part Number: DDR3 1600G            
    Rank: 2
    Configured Clock Speed: 1333 MHz

Handle 0x0035, DMI type 17, 34 bytes
Memory Device
    Array Handle: 0x002D
    Error Information Handle: Not Provided
    Total Width: 72 bits
    Data Width: 64 bits
    Size: No Module Installed
    Form Factor: DIMM
    Set: None
    Locator: ChannelB_Dimm2
    Bank Locator: ChannelB
    Type: Unknown
    Type Detail: Synchronous
    Speed: Unknown
    Manufacturer: ChannelB_Dimm2_Manufacturer
    Serial Number: ChannelB_Dimm2_SerNum
    Asset Tag: ChannelB_Dimm2_AssetTag
    Part Number: ChannelB_Dimm2_PartNum
    Rank: Unknown
    Configured Clock Speed: Unknown

Handle 0x0037, DMI type 17, 34 bytes
Memory Device
    Array Handle: 0x002D
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 4096 MB
    Form Factor: DIMM
    Set: None
    Locator: ChannelC_Dimm1
    Bank Locator: ChannelC
    Type: DDR3
    Type Detail: Synchronous
    Speed: 1333 MHz
    Manufacturer: A-DATA                     
    Serial Number: 000028E7             
    Asset Tag: ChannelC_Dimm1_AssetTag
    Part Number: DDR3 1600G            
    Rank: 2
    Configured Clock Speed: 1333 MHz

Handle 0x0039, DMI type 17, 34 bytes
Memory Device
    Array Handle: 0x002D
    Error Information Handle: Not Provided
    Total Width: 72 bits
    Data Width: 64 bits
    Size: No Module Installed
    Form Factor: DIMM
    Set: None
    Locator: ChannelC_Dimm2
    Bank Locator: ChannelC
    Type: Unknown
    Type Detail: Synchronous
    Speed: Unknown
    Manufacturer: ChannelC_Dimm2_Manufacturer
    Serial Number: ChannelC_Dimm2_SerNum
    Asset Tag: ChannelC_Dimm2_AssetTag
    Part Number: ChannelC_Dimm2_PartNum
    Rank: Unknown
    Configured Clock Speed: Unknown

Handle 0x003B, DMI type 17, 34 bytes
Memory Device
    Array Handle: 0x002D
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 4096 MB
    Form Factor: DIMM
    Set: None
    Locator: ChannelD_Dimm1
    Bank Locator: ChannelD
    Type: DDR3
    Type Detail: Synchronous
    Speed: 1333 MHz
    Manufacturer: A-DATA                     
    Serial Number: 000028F0             
    Asset Tag: ChannelD_Dimm1_AssetTag
    Part Number: DDR3 1600G            
    Rank: 2
    Configured Clock Speed: 1333 MHz

Handle 0x003D, DMI type 17, 34 bytes
Memory Device
    Array Handle: 0x002D
    Error Information Handle: Not Provided
    Total Width: 72 bits
    Data Width: 64 bits
    Size: No Module Installed
    Form Factor: DIMM
    Set: None
    Locator: ChannelD_Dimm2
    Bank Locator: ChannelD
    Type: Unknown
    Type Detail: Synchronous
    Speed: Unknown
    Manufacturer: ChannelD_Dimm2_Manufacturer
    Serial Number: ChannelD_Dimm2_SerNum
    Asset Tag: ChannelD_Dimm2_AssetTag
    Part Number: ChannelD_Dimm2_PartNum
    Rank: Unknown
    Configured Clock Speed: Unknown

Invalid entry length (16). Fixed up to 11.

输出告诉你有8个插槽,其中4个被使用,每个插槽都配有4GB内存。

使用lshw检测内存

假设您拥有sudo权限,您可以使用 lshw 命令来检测内存插槽的数量以及目前插入其中的内容。

示例用法:

lshw 

或者只是为了获取与内存相关的信息:
lshw -class memory

我的情况下输出为:
*-firmware              
       description: BIOS
       vendor: American Megatrends Inc.
       physical id: 0
       version: 3203
       date: 11/26/2012
       size: 64KiB
       capacity: 8128KiB
       capabilities: pci apm upgrade shadowing cdboot bootselect socketedrom edd int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int9keyboard int14serial int17printer acpi usb biosbootspecification uefi
  *-cache:0
       description: L1 cache
       physical id: 5
       slot: L1-Cache
       size: 32KiB
       capacity: 32KiB
       capabilities: internal write-back unified
       configuration: level=1
  *-cache:1
       description: L2 cache
       physical id: 6
       slot: L2-Cache
       size: 256KiB
       capacity: 256KiB
       capabilities: internal varies unified
       configuration: level=2
  *-cache:2
       description: L3 cache
       physical id: 7
       slot: L3-Cache
       size: 10MiB
       capacity: 10MiB
       capabilities: internal varies unified
       configuration: level=3
  *-memory
       description: System Memory
       physical id: 2d
       slot: System board or motherboard
       size: 16GiB
     *-bank:0
          description: DIMM DDR3 Synchronous 1333 MHz (0,8 ns)
          product: DDR3 1600G
          vendor: A-DATA
          physical id: 0
          serial: 0000762C
          slot: ChannelA_Dimm1
          size: 4GiB
          width: 64 bits
          clock: 1333MHz (0.8ns)
     *-bank:1
          description: DIMM Synchronous [empty]
          product: ChannelA_Dimm2_PartNum
          vendor: ChannelA_Dimm2_Manufacturer
          physical id: 1
          serial: ChannelA_Dimm2_SerNum
          slot: ChannelA_Dimm2
          width: 64 bits
     *-bank:2
          description: DIMM DDR3 Synchronous 1333 MHz (0,8 ns)
          product: DDR3 1600G
          vendor: A-DATA
          physical id: 2
          serial: 000028C3
          slot: ChannelB_Dimm1
          size: 4GiB
          width: 64 bits
          clock: 1333MHz (0.8ns)
     *-bank:3
          description: DIMM Synchronous [empty]
          product: ChannelB_Dimm2_PartNum
          vendor: ChannelB_Dimm2_Manufacturer
          physical id: 3
          serial: ChannelB_Dimm2_SerNum
          slot: ChannelB_Dimm2
          width: 64 bits
     *-bank:4
          description: DIMM DDR3 Synchronous 1333 MHz (0,8 ns)
          product: DDR3 1600G
          vendor: A-DATA
          physical id: 4
          serial: 000028E7
          slot: ChannelC_Dimm1
          size: 4GiB
          width: 64 bits
          clock: 1333MHz (0.8ns)
     *-bank:5
          description: DIMM Synchronous [empty]
          product: ChannelC_Dimm2_PartNum
          vendor: ChannelC_Dimm2_Manufacturer
          physical id: 5
          serial: ChannelC_Dimm2_SerNum
          slot: ChannelC_Dimm2
          width: 64 bits
     *-bank:6
          description: DIMM DDR3 Synchronous 1333 MHz (0,8 ns)
          product: DDR3 1600G
          vendor: A-DATA
          physical id: 6
          serial: 000028F0
          slot: ChannelD_Dimm1
          size: 4GiB
          width: 64 bits
          clock: 1333MHz (0.8ns)
     *-bank:7
          description: DIMM Synchronous [empty]
          product: ChannelD_Dimm2_PartNum
          vendor: ChannelD_Dimm2_Manufacturer
          physical id: 7
          serial: ChannelD_Dimm2_SerNum
          slot: ChannelD_Dimm2
          width: 64 bits

显示内存信息使用free命令
您可以使用free命令获取有关您的内存的信息。
示例用法:
free

输出:

              total        used        free      shared  buff/cache   available
Mem:       16374920     4653296      155360     9349708    11566264     1953928
Swap:      16715772     4060816    12654956

添加-h参数以获得更易读的输出。
              total        used        free      shared  buff/cache   available
Mem:            15G        4,4G        249M        8,9G         11G        1,9G
Swap:           15G        3,9G         12G

如果您想要监视内存使用情况,请考虑按如下方式组合 watchfree
watch free

这将输出上面看到的正常free输出,但每2秒更新一次(使用watch)。

使用/proc/meminfo显示内存信息

您还可以使用/proc/meminfo获取一些内存信息。

示例:

cat /proc/meminfo

输出:

MemTotal:       16374920 kB
MemFree:          211408 kB
MemAvailable:    2036568 kB
Buffers:           34856 kB
Cached:         11248956 kB
SwapCached:         1572 kB
Active:          5451788 kB
Inactive:       10119984 kB
Active(anon):    4508180 kB
Inactive(anon):  9133120 kB
Active(file):     943608 kB
Inactive(file):   986864 kB
Unevictable:       13444 kB
Mlocked:           13444 kB
SwapTotal:      16715772 kB
SwapFree:       12654936 kB
Dirty:              1016 kB
Writeback:             0 kB
AnonPages:       4300076 kB
Mapped:          5466584 kB
Shmem:           9349796 kB
Slab:             309332 kB
SReclaimable:     230976 kB
SUnreclaim:        78356 kB
KernelStack:       17216 kB
PageTables:        77140 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    24903232 kB
Committed_AS:   28709200 kB
VmallocTotal:   34359738367 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB
HardwareCorrupted:     0 kB
AnonHugePages:   1863680 kB
CmaTotal:              0 kB
CmaFree:               0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      737312 kB
DirectMap2M:    14934016 kB
DirectMap1G:     1048576 kB

正如@Serg所指出的,你应该使用awk将输出缩小到最基本的部分。
示例:
awk '/MemTotal/ || /SwapTotal/' /proc/meminfo    

输出:

MemTotal:       16374920 kB
SwapTotal:      16715772 kB

使用vmstat命令可以显示内存信息。
例如:
vmstat

输出:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 3  0 4060888 238300  35576 11506488    0    2   120    55   17    4 18  6 74  2  0

可以按照以下方式更清晰地显示:
vmstat -s -SM

输出:

        15991 M total memory
         4467 M used memory
         5322 M active memory
         9837 M inactive memory
          253 M free memory
           34 M buffer memory
        11235 M swap cache
        16323 M total swap
         3965 M used swap
        12358 M free swap
     17691507 non-nice user cpu ticks
     21078371 nice user cpu ticks
     13384959 system cpu ticks
    161496078 idle cpu ticks
      4951342 IO-wait cpu ticks
            0 IRQ cpu ticks
        40582 softirq cpu ticks
            0 stolen cpu ticks
    263184336 pages paged in
    119297582 pages paged out
         1824 pages swapped in
      1018199 pages swapped out
   1111772384 interrupts
   2371898713 CPU context switches
   1473060064 boot time
      1983609 forks

监控内存使用情况

有几个工具可以帮助监控内存使用情况。我在这里列出一些。

tophtop 都是能够持续更新当前内存使用情况的工具。

htop

使用smem

smem以共享内存按比例划分的方式报告使用情况。

示例(已排序):

smem -r

输出:

 7948 USERNAME   /usr/lib/firefox/firefox           0   975580   997022  1027100 
23748 USERNAME   /usr/bin/perl /usr/bin/shut        0   456392   459957   472116 
16341 USERNAME   /opt/google/chrome/chrome -        0   401220   405063   419520 
22977 USERNAME   /home/fpoeck/.dropbox-dist/        0   240332   240487   245712 
23751 USERNAME   /usr/bin/python /usr/share/        0   204524   205538   214656 
32449 USERNAME   /usr/lib/thunderbird/thunde        0   191124   191657   200892 
13531 USERNAME   /opt/atom/atom --type=rende        0   124740   131853   144340

一个好的检查方法是参考/proc/meminfo文件。大多数工具如free、top、htop都使用该文件。

文件中有很多行显示不同的统计数据,但使用AWK,我们可以过滤出总计。MemTotal行将显示RAM。作为奖励,我还包括了总交换空间。

$ awk '/MemTotal/ || /SwapTotal/' /proc/meminfo                                
MemTotal:        1789444 kB
SwapTotal:        524284 k

打开终端:按下Ctrl + Alt + T 然后输入:sudo lshw

我喜欢sudo dmidecode -t 17的输出结果。下面是它对我的机器的描述:
# dmidecode 2.12
# SMBIOS entry point at 0x000f0480
SMBIOS 2.7 present.

Handle 0x0009, DMI type 17, 34 bytes
Memory Device
    Array Handle: 0x0007
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 4096 MB
    Form Factor: DIMM
    Set: None
    Locator: A1_DIMM0
    Bank Locator: A1_BANK0
    Type: DDR3
    Type Detail: Synchronous
    Speed: 1333 MHz
    Manufacturer: Undefined       
    Serial Number: 000001D2  
    Asset Tag: A1_AssetTagNum0
    Part Number: SLA302G08-EDJ1C   
    Rank: 2
    Configured Clock Speed: Unknown

Handle 0x000D, DMI type 17, 34 bytes
Memory Device
    Array Handle: 0x0007
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 4096 MB
    Form Factor: DIMM
    Set: None
    Locator: A1_DIMM2
    Bank Locator: A1_BANK2
    Type: DDR3
    Type Detail: Synchronous
    Speed: 1333 MHz
    Manufacturer: Undefined       
    Serial Number: 0000017F  
    Asset Tag: A1_AssetTagNum2
    Part Number: SLA302G08-EDJ1C   
    Rank: 2
    Configured Clock Speed: 2 MHz

我喜欢它提供了每个插槽中有多少RAM的简单人类可读描述 - 在上面的例子中是2 x Size: 4096 MB(所以我有8GB RAM总量)。而且它按插槽进行了细分,因此您对升级选项有更多了解。

dmidecodeman page)告诉您关于系统硬件的信息。使用-t 17参数可以过滤“内存设备”类型。


  1. 打开系统设置

  2. 点击面板底部的详细信息

  3. 您将看到有关您的计算机的详细信息(例如RAM)。


请尝试一下:
free -h

输出将会是这样的:

              total        used        free      shared  buff/cache   available
Mem:            62G         49G        387M        723M         13G         12G
Swap:            0B          0B          0B

或者使用 free -h -t 命令查看总计。 - igorkf