我无法跟踪系统中的内存使用情况。“系统监视器”图形工具显示我使用了 18GB 内存。
然后“top”告诉我16.4GB
命令:
ps aux | awk '{s+=$6} END{print s/1024/1024}'
告诉我已使用了 9.32965 GB。
root@testo:~# cat /proc/meminfo
MemTotal: 32777232 kB
MemFree: 15718012 kB
MemAvailable: 17225504 kB
Buffers: 112 kB
Cached: 2040884 kB
SwapCached: 0 kB
Active: 692532 kB
Inactive: 6150240 kB
Active(anon): 3324 kB
Inactive(anon): 5011996 kB
Active(file): 689208 kB
Inactive(file): 1138244 kB
Unevictable: 17864 kB
Mlocked: 17864 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 112 kB
Writeback: 180 kB
AnonPages: 4819744 kB
Mapped: 1252384 kB
Shmem: 207228 kB
KReclaimable: 115868 kB
Slab: 1837584 kB
SReclaimable: 115868 kB
SUnreclaim: 1721716 kB
KernelStack: 23680 kB
PageTables: 54112 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 16388616 kB
Committed_AS: 14900136 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 732216 kB
VmallocChunk: 0 kB
Percpu: 48384 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
FileHugePages: 0 kB
FilePmdMapped: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 0 kB
DirectMap4k: 16638844 kB
DirectMap2M: 16822272 kB
DirectMap1G: 0 kB
发生了什么事?我不明白使用的大约 9GB 和 18GB 之间的差异。问题是,这是基本上已打开的 Ubuntu,并且已打开 Evolution 和 Web 浏览器。
编辑:我进行了全新重启,使用的内存量从 18GB 降至 6GB。(打开相同的应用程序)。我比较了 /proc/meminfo,看到了差异(第一列:重启后,第二列:重启前):
DirectMap4k: 16638844 1436540
DirectMap2M: 16822272 11053056
DirectMap1G: 0 20971520
和:
Slab: 1837584 825116
SReclaimable: 115868 142748
SUnreclaim: 1721716 682368
和:
MemTotal: 32777232 32777236
MemFree: 15718012 23822224
MemAvailable: 17225504 27557084
Buffers: 112 30384
Cached: 2040884 4018376
SwapCached: 0 0
Active: 692532 1144872
Inactive: 6150240 4743716
Active(anon): 3324 2736
Inactive(anon): 5011996 1858808
Active(file): 689208 1142136
Inactive(file): 1138244 2884908
** 编辑(2022 年 3 月 26 日)** 下面我粘贴了 /proc/meminfo,其中第三列显示的数据与第二列相同,但计算机重启后。在这两种情况下,系统都进入“systemctl start multi-user”,据我所知,系统上运行的是相同的软件(例如没有 GUI)。不同之处在于重启清除了一些东西。从中可以看出是什么导致了“已用”内存的巨大差异(重启后为 4GB,重启前接近 16GB)。重启前 MemFree 和 MemAvailable 小得多的主要原因是什么,这显而易见吗(我想人们必须知道如何添加/减去这些行)?
MemTotal: 32777236kB 32777236kB
MemFree: 15401852kB 28025100kB
MemAvailable: 18405812kB 29808364kB
Buffers: 2360kB 25500kB
Cached: 3549100kB 2082168kB
SwapCached: 0kB 0kB
Active: 1091844kB 293272kB
Inactive: 2731276kB 2388616kB
Active(anon): 1424kB 2332kB
Inactive(anon): 326200kB 584700kB
Active(file): 1090420kB 290940kB
Inactive(file): 2405076kB 1803916kB
Unevictable: 17784kB 18044kB
Mlocked: 17784kB 18044kB
SwapTotal: 0kB 0kB
SwapFree: 0kB 0kB
Dirty: 62472kB 2912kB
Writeback: 0kB 0kB
AnonPages: 289404kB 592340kB
Mapped: 143940kB 187624kB
Shmem: 49612kB 6444kB
KReclaimable: 142288kB 103936kB
Slab: 969604kB 609656kB
SReclaimable: 142288kB 103936kB
SUnreclaim: 827316kB 505720kB
KernelStack: 10448kB 11040kB
PageTables: 9592kB 9204kB
NFS_Unstable: 0kB 0kB
Bounce: 0kB 0kB
WritebackTmp: 0kB 0kB
CommitLimit: 16388616kB 16388616kB
Committed_AS: 2309600kB 2151884kB
VmallocTotal: 34359738367kB 34359738367kB
VmallocUsed: 1019352kB 308136kB
VmallocChunk: 0kB 0kB
Percpu: 46592kB 37120kB
HardwareCorrupted: 0kB 0kB
AnonHugePages: 0kB 0kB
ShmemHugePages: 0kB 0kB
ShmemPmdMapped: 0kB 0kB
FileHugePages: 0kB 0kB
FilePmdMapped: 0kB 0kB
HugePages_Total: 0 0
HugePages_Free: 0 0
HugePages_Rsvd: 0 0
HugePages_Surp: 0 0
Hugepagesize: 2048kB 2048kB
Hugetlb: 0kB 0kB
DirectMap4k: 12815228kB 531324kB
DirectMap2M: 20645888kB 6715392kB
DirectMap1G: 0kB 26214400kB
** 编辑(2022 年 3 月 29 日)** free -m 的输出(现在一切都告诉我几乎所有的内存都已被使用。我打开了 Web 浏览器、gedit 和几个终端,就是这样。
total used free shared buff/cache available
Mem: 32009 29235 915 681 1857 1632
Swap: 0 0 0