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

Jam*_*mes 86 ram 13.04

如何知道我的电脑有多少内存?我正在运行 Ubuntu 13.04。

Sim*_*mon 83

如果您单击齿轮图标(屏幕右上角),然后单击关于此计算机。RAM 位于计算机名称下方的第二个条目。

编辑

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

  • 这将告诉您操作系统可以看到多少 RAM。 (6认同)
  • 另外,只打印 MiB 中的数量:`lshw -C memory 2>/dev/null | grep -Po ' +size: \K.*'` (5认同)

JoK*_*KeR 48

也很容易使用命令来检查 RAM:

free -lm
Run Code Online (Sandbox Code Playgroud)

使用top命令本身或:

top | grep -i mem
Run Code Online (Sandbox Code Playgroud)

类似于top但更高级的是htop,必须安装软件包sudo apt-get install htop然后运行:

htop
Run Code Online (Sandbox Code Playgroud)

将在终端输出内存比例。

vmstat可以这样做:

vmstat -s -SM
Run Code Online (Sandbox Code Playgroud)


duf*_*fte 13

一般来说

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

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

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

用法示例:

sudo dmidecode
Run Code Online (Sandbox Code Playgroud)

或者甚至更好,仅过滤内存相关信息:

sudo dmidecode -t 17
Run Code Online (Sandbox Code Playgroud)

在我的情况下的输出:

# 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.
Run Code Online (Sandbox Code Playgroud)

输出告诉您大约有 8 个插槽,其中 4 个正在使用,每个都有 4GB 内存。

使用 lshw 检测内存

假设您有 sudo 权限,您可以使用该lshw命令来检测内存插槽的数量以及现在插入的内容。

用法示例:

lshw 
Run Code Online (Sandbox Code Playgroud)

或者只是为了获取内存相关信息:

lshw -class memory
Run Code Online (Sandbox Code Playgroud)

在我的情况下的输出:

*-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
Run Code Online (Sandbox Code Playgroud)

使用 free 显示内存信息

您可以使用该free命令来获取有关您的内存的信息。

用法示例:

free
Run Code Online (Sandbox Code Playgroud)

输出:

              total        used        free      shared  buff/cache   available
Mem:       16374920     4653296      155360     9349708    11566264     1953928
Swap:      16715772     4060816    12654956
Run Code Online (Sandbox Code Playgroud)

添加-h参数以获得更易读的输出

              total        used        free      shared  buff/cache   available
Mem:            15G        4,4G        249M        8,9G         11G        1,9G
Swap:           15G        3,9G         12G
Run Code Online (Sandbox Code Playgroud)

如果要监视内存的使用情况考虑合并watchfree 如下

watch free
Run Code Online (Sandbox Code Playgroud)

这将输出free上面看到的正常输出,但更新所有 2 秒(使用watch

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

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

例子:

cat /proc/meminfo
Run Code Online (Sandbox Code Playgroud)

输出:

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
Run Code Online (Sandbox Code Playgroud)

正如@Serg 指出的那样,您应该使用awk将输出缩小到最重要的

例子:

awk '/MemTotal/ || /SwapTotal/' /proc/meminfo    
Run Code Online (Sandbox Code Playgroud)

输出:

MemTotal:       16374920 kB
SwapTotal:      16715772 kB
Run Code Online (Sandbox Code Playgroud)

使用 vmstat 显示内存信息

您也可以使用该vmstat命令。

例子:

vmstat
Run Code Online (Sandbox Code Playgroud)

输出:

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
Run Code Online (Sandbox Code Playgroud)

它可以显示为更具可读性,如下所示:

vmstat -s -SM
Run Code Online (Sandbox Code Playgroud)

输出:

        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
Run Code Online (Sandbox Code Playgroud)

监控内存使用

有几种工具可以帮助监控内存/内存使用情况。我会在这里命名一些

top并且htop都是不断更新当前内存使用情况的工具。

顶

使用 smem

smem 报告按比例分配的共享内存的使用情况。

示例(排序):

smem -r
Run Code Online (Sandbox Code Playgroud)

输出:

 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
Run Code Online (Sandbox Code Playgroud)


Ser*_*nyy 6

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

那里有很多行显示不同的统计数据,但是使用 AWK,我们可以过滤掉总数。MemTotal 行将显示 RAM。作为奖励,我还包括了总掉期。

$ awk '/MemTotal/ || /SwapTotal/' /proc/meminfo                                
MemTotal:        1789444 kB
SwapTotal:        524284 k
Run Code Online (Sandbox Code Playgroud)