内存大小与分区不一样?

内存大小与分区不一样?

我已经安装了 Ubuntu Server 16.04.3 LTS,除了一件小事之外,一切运行正常。

内存大小与Linux文件系统不一样。

我是这样分区的:

  • 输出lsblk

    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda      8:0    0  7.5G  0 disk
    ├─sda1   8:1    0  512M  0 part /boot/efi
    ├─sda2   8:2    0  6.5G  0 part /
    └─sda3   8:3    0  452M  0 part [SWAP]
    
  • 输出sudo fdisk -l

    Disk /dev/sda: 7.5 GiB, 8012390400 bytes, 15649200 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: gpt
    
    Device        Start      End  Sectors  Size Type
    /dev/sda1      2048  1050623  1048576  512M EFI System
    /dev/sda2   1050624 14723071 13672448  6.5G Linux filesystem
    /dev/sda3  14723072 15648767   925696  452M Linux swap
    

从两个命令的输出可以看出,sda2 分区的大小为6.5 GB

  • 但是当我用 meminfo 文件检查时,cat /proc/meminfo我得到了这个输出:

    MemTotal:        3865612 kB
    MemFree:         3505612 kB
    MemAvailable:    3548680 kB
    

    这意味着仅3.8 GB显示为总内存大小,而不是 6.5 GB。为什么会这样?

  • 命令中也显示错误的内存大小htop

    1  [|||||||||||||||||||||||||82.2%]  Tasks: 32,17 thr; 2 running
    2  [                          0.0%]  Load average: 0.73 0.80 0.82
    Mem[||||               93.3M/3.69G]  Uptime: 01:15:50
    Swp[                       0K/452M]
    

    这里还可以看到,尺寸是约 3.7 GB而不是 6.5 GB。但是 SWAP 大小是正确的。

为什么内存大小是 3.9 GB 而不是 6.5 GB?有什么想法吗?

谢谢 :)

答案1

磁盘存储容量和内存是两个不同的东西;尽管它们使用相同的单位来衡量。

您的分区大小(6.5GB)衡量了您的驱动器上可以存储多少数据。

内存是指您安装的 RAM 数量 + 可能正在使用的虚拟内存(交换空间)。您的例子中,RAM 为 3.7GB,交换空间为 ~0.4GB

相关内容